用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

2013腾讯马拉松初赛 ACM 小Q系列故事——最佳裁判

2013-03-28 作者: 小蜜锋举报

[c]代码库

/*

2013腾讯马拉松初赛第4场

1001 小Q系列故事——最佳裁判
 
Time Limit: 0.2 Seconds   Memory Limit: 65536K
 

过去的2012年对小Q来说是很悲催的一年,失恋了12次,每次都要郁闷1个来月。
好在小Q是个体育迷,在最痛苦的时候,他常常用观看各种体育节目来麻醉自己,比如伦敦奥运会期间,小Q就常常在周末邀上一群单身同事聚在自己的蜗居,一边畅饮啤酒,一边吹牛。
小Q最喜欢看的是跳水,主要原因也是因为这个项目有中国人参加,而且中国队员获胜的几率很大,一般不会再给自己添堵,不然何谈看体育疗情伤呢。
跳水项目的一个重要环节就是裁判打分,小Q他们有时候会觉得某个裁判不公平,是不是有意在压中国队员的分数。于是每当一个队员跳水完毕,他们几个也像电视上的裁判那样给队员打分,并且规定,谁的分数和最终得分最接近谁就是他们当中的最佳裁判,现场奖励啤酒一杯!
其中,最终得分是这样计算的:N个人打分,去掉一个最高分,去掉一个最低分,然后剩余分数相加,再除以N-2即为最终得分。
凭借“看体育疗情伤”而练就的专业体育知识,小Q几乎每局必胜,这一夜,小Q注定要烂醉如泥了......

Input
输入包含多组测试用例。
每组测试用例首先是一个整数N,表示裁判的人数,然后接着是N个实数,表示N个裁判的打分Pi,N为0时结束输入。

[Technical Specification]
5 <= N <= 20
0<=Pi<=10

Output
请计算并输出最佳裁判的编号,每组数据输出占一行,若有多人并列最佳裁判,只要求输出编号最小的那个。
特别说明:裁判编号按照打分的顺序从1开始,依次类推,最后一人编号为N。

Sample Input
5 8.3 9.2 8.7 8.9 9.0
0

Sample Output
4

*/



#include <stdio.h>

int main() {
    double f[30], a[30], n;
    int i;
    while(~scanf("%lf", &n), n) {
        double max = 0, min = 30, sum = 0;
        int flag;
        for(i = 1; i <= n; i++) {
            scanf("%lf", &a[i]);
            if(a[i] > max)
                max = a[i];
            if(a[i] < min)
                min = a[i];
            sum += a[i];
        }
        sum = (sum - max - min) / (n - 2);
        for(i = 1; i <= n; i++) {
            f[i] = a[i] - sum;
            if(f[i] < 0)
                f[i] = -f[i];
        }
        min = f[1];
        flag = 1;
        for(i = 2; i <= n; i++) {
            if(min > f[i]) {
                min = f[i];
                flag = i;
            }
        }
        printf("%d\n", flag);
    }

    return 0;
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...