Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
有用C写过的没??怎么写不超时啊???我写的超时,郁闷,牛子指点下#include <stdio.h> #include <stdlib.h> int MyCompare(const void* e1, const void* e2); int main() { int n1, n2, n, count_max, i, nmax; long a, max[50]; double sum; while (scanf("%d%d%d", &n1, &n2, &n) == 3 && n1) { sum = 0; count_max = 0; for (i = 0; i < n; i++) { scanf("%ld", &a); if (i < n1+n2) { max[count_max++] = a; sum += a; continue; } qsort(max, n1+n2, sizeof(long),MyCompare); if (a > max[n1+n2-n1]) max[n1+n2-n1] = a; if (a < max[n2-1]) max[n2-1] = a; sum += a; } for (i = 0; i < n1+n2; i++) sum -= max[i]; printf("%.6lf\n", sum/(n-n1-n2)); } return 0; } int MyCompare(const void* e1, const void* e2) { return *((long*)e1) - *((long*)e2); } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator