11262번 - Minions’ Master
잘 짰다고 생각했지만 채점 50% 그 이상 안갑니다..
int main() { int people, * power; double average = 0, count = 0;; scanf("%d", &people); for (int i = 0; i < people; i++) { int num; scanf("%d", &num); power = (int*)malloc(sizeof(int) * num); for (int j = 0; j < num; j++) { scanf("%d", &power[j]); average += power[j]; } average /= num; for (int k = 0; k < num; k++) { if (average < power[k]) count++; } printf("%.3lf %.3lf\n", average, count / (double)num * 100); count = 0; average = 0; free(power); } return 0;}
이게 조금 수정 해본 방법인데 이 방법도 50%를 안넘어갑니다.. 따끔한 조언 받겠습니다.
방금 풀어본 바로는 실수 오차 때문인 것 같습니다.
https://www.acmicpc.net/board/...
참고하시면 도움이 될 듯 합니다.
댓글을 작성하려면 로그인해야 합니다.
lsch6214 1년 전
잘 짰다고 생각했지만 채점 50% 그 이상 안갑니다..
int main() {
int people, * power;
double average = 0, count = 0;;
scanf("%d", &people);
for (int i = 0; i < people; i++) {
int num;
scanf("%d", &num);
power = (int*)malloc(sizeof(int) * num);
for (int j = 0; j < num; j++) {
scanf("%d", &power[j]);
average += power[j];
}
average /= num;
for (int k = 0; k < num; k++) {
if (average < power[k])
count++;
}
printf("%.3lf %.3lf\n", average, count / (double)num * 100);
count = 0;
average = 0;
free(power);
}
return 0;
}
이게 조금 수정 해본 방법인데 이 방법도 50%를 안넘어갑니다.. 따끔한 조언 받겠습니다.