记录编号 473606 评测结果 A
题目名称 排队接水 最终得分 100
用户昵称 Gravataryi_han 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2017-11-08 20:28:58 内存使用 0.70 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;

int tmp[100000];

struct cmp{
    bool operator ()(const int x , const int y){
        if(tmp[x] == tmp[y])
            return x > y;
        return tmp[x] > tmp[y];
    }
};

priority_queue<int , vector<int> , cmp> ans;

int main(){
	freopen("jieshui.in","r",stdin);
	freopen("jieshui.out","w",stdout);
    int num , sum= 0   ,sumx = 0, k = 1;
    double um = 0;
    cin >> num;
    for(int i = 0 ; i < num ; i ++){
        cin >> tmp[i];
        ans.push(i);
    }
    while(ans.size() != 1){
        cout << ans.top() + 1 << ' ';
        k ++;
        sum += tmp[ans.top()];
        sumx += sum;
        ans.pop();
    } 
    cout << ans.top() + 1 << ' ';
    um = (double) (sumx) / k;
    printf("\n%.2lf",um);
}