시나브로

[D4] 6719. 성수의 프로그래밍 강좌 시청 본문

알고리즘/SW Expert Academy

[D4] 6719. 성수의 프로그래밍 강좌 시청

혬혬 2019. 10. 6. 10:54
728x90
#include <stdio.h>

int compare(const void *a, const void *b)    // 오름차순 비교 함수 구현
{

	int p1 = *(int *)a;

	int p2 = *(int *)b;

	if (p1 < p2)
		return -1;
	else if (p1 > p2)
		return 1;

	return 0;
}
int main() {

	int test_number = 0;
	scanf("%d\n", &test_number);
	for (int p = 0; p < test_number; p++) {
		int total_lesson_number = 0;
		int my_lessson_number = 0;
		int lessons[210] = { 0 };

		scanf("%d %d", &total_lesson_number, &my_lessson_number);
		for (int i = 0; i < total_lesson_number; i++)
			scanf("%d", &lessons[i]);
		qsort(lessons, total_lesson_number, sizeof(int), compare);

		double my_score = 0;
		for (int i = total_lesson_number-my_lessson_number; i < total_lesson_number; i++) {
			my_score = (double) (my_score + lessons[i]) / 2;
		}
	printf("#%d %lf\n",p+1, my_score);
	}

	return 0;
}
728x90
Comments