Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:有用C写过的没??怎么写不超时啊???我写的超时,郁闷,牛子指点下

Posted by 20080112867148 at 2009-08-03 17:00:31 on Problem 2833
In Reply To:有用C写过的没??怎么写不超时啊???我写的超时,郁闷,牛子指点下 Posted by:bootshl at 2008-07-26 13:23:25
> #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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator