문제
링크
풀이
#include <stdio.h>
#include <math.h>
int main(void) {
int N, num;
int max = -4001, min = 4001;
int a[8001] = { 0 };
double sum = 0.0;
scanf("%d", &N);
for (int i=0; i<N; i++) {
scanf("%d", &num);
a[num+4000]++;
sum += num;
if (num > max) max = num;
if (num < min) min = num;
}
// 1st
printf("%.0lf\n", floor(sum/N+0.5));
// 2nd
int count = 0, id = min;
while (count <= N/2) {
count += a[id+4000];
id++;
}
printf("%d\n", id-1);
// 3rd
int maxCount = 0, moreThanOne = 0;
for (int i=min; i<=max; i++) {
if (a[i+4000] > maxCount) {
maxCount = a[i+4000];
id = i;
moreThanOne = 0;
} else if (moreThanOne==0 && a[i+4000]==maxCount) {
id = i;
moreThanOne = 1;
}
}
printf("%d\n", id);
// 4st
printf("%d\n", max-min);
return 0;
}