#include<bits/stdc++.h>
using namespace std;
int a[100001];
double ave[100001];
struct student{
int i;
double ave;
};
student stu[100001]; bool cmp(const student &s1,const student &s2){
if(s1.ave==s2.ave){
return s1.i<s2.i;
}else{
return s1.ave>s2.ave;
}
} int main(){
priority_queue<int,vector<int>,greater<int> > q;
int n;
while(cin>>n){
memset(stu,0,sizeof(student)*n);
memset(a,0,sizeof(a));
memset(ave,0,sizeof(ave));
for(int i=0;i<n;++i){
scanf("%d",&a[i]);
}
double s=0;
for(int i=n-1;i>0;i--){
if(i!=n-1){
if(a[i]<q.top()){ //如果这个数比队列中最小的值还小,算平均值的时候先没放进队列
int ss=q.size();
ave[i]=s*1.0/ss;
stu[i].ave=ave[i];
stu[i].i=i;
q.push(a[i]); //最后再放进队列
}else{ //如果这个数比队列中最小的值大
q.push(a[i]); //把这个数放进队列
int x=q.top();
q.pop(); //把队列中最小的值弹出
int ss=q.size();
ave[i]=(s+a[i]-x)*1.0/ss; //算出平均值
stu[i].ave=ave[i];
stu[i].i=i;
q.push(x); //最后把最小的值压回去队列
}
}else{
q.push(a[i]);
ave[i]=a[i];
stu[i].ave=ave[i];
stu[i].i=i;
}
s+=a[i];
//printf("%d %.2f\n",stu[i].i,stu[i].ave);
}
sort(stu,stu+n,cmp);
cout<<stu[0].i;
for(int i=1;i<n;++i){
if(stu[i].ave==stu[0].ave&&stu[i].i<=n-2){
cout<<" "<<stu[i].i;
}else{
break;
}
}
while(!q.empty()){
q.pop();
}
cout<<endl;
}
}

6127:Largest Average的更多相关文章

  1. LeetCode之“排序”:Largest Number

    题目链接 题目要求: Given a list of non negative integers, arrange them such that they form the largest numbe ...

  2. Leetcode:Largest Number详细题解

    题目 Given a list of non negative integers, arrange them such that they form the largest number. For e ...

  3. LeetCode第[84]题(Java):Largest Rectangle in Histogram(最大的矩形柱状图)

    题目:最大的矩形柱状图 难度:hard 题目内容: Given n non-negative integers representing the histogram's bar height wher ...

  4. LeetCode OJ:Largest Number(最大数字)

    Given a list of non negative integers, arrange them such that they form the largest number. For exam ...

  5. HDU 5461:Largest Point

    Largest Point Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) To ...

  6. HDU1506: Largest Rectangle in a Histogram(最大子矩阵,好题动态优化左右边界)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1506 刚开始没考虑时间复杂度,直接敲了,直接tle了,之后没有思路,然后看题解,看见大神写的优化非常棒. ...

  7. POJ2559:Largest Rectangle in a Histogram

    浅谈栈:https://www.cnblogs.com/AKMer/p/10278222.html 题目传送门:http://poj.org/problem?id=2559 贪心的想,最大的子矩阵顶部 ...

  8. AtCoder Grand Contest 009 E:Eternal Average

    题目传送门:https://agc009.contest.atcoder.jp/tasks/agc009_e 题目翻译 纸上写了\(N\)个\(1\)和\(M\)个\(0\),你每次可以选择\(k\) ...

  9. AGC009:Eternal Average

    传送门 好神啊 直接考虑一棵 \(n+m\) 个叶子的 \(k\) 叉树,根结点权值为 \(\sum_{i\in m}(\frac{1}{k})^{deep_i}\) 对于一个 \(deep\) 的序 ...

随机推荐

  1. Redis学习之路(三)常用命令总结

    一.集群 查看Redis集群有多少个库 192.168.200.100:7001> config get databases 1) "databases" 2) " ...

  2. 关于echarts中的noDataLoadingOption——loading动画的问题

    在最近的一个项目中用到echarts这个插件,其中关于noDataLoadingOption配置项的问题让我困惑了好长时间.经过蛋疼的查找下,终于搞明白是版本的原因. 且看官网的介绍:ECharts, ...

  3. Tensorflow--------tf.nn库

    1.tf.nn :提供神经网络相关操作,包括卷积神经(conv),池化操作(pooling),归一化,loss,分类操作,embedding,RNN,Evaluation. 2.tf.layers:高 ...

  4. Itranswarp 搭建个人 Wiki

    www.swack.cn - 原文链接:Itranswarp 搭建个人 Wiki 从零开始 搭建个人Wiki站点 Itranswarp.js 是一款基于nodejs开发的博客系统,通过Apache L ...

  5. 3D动漫人物代码

    <div id="page_end_html"> <script src="https://eqcn.ajz.miesnfu.com/wp-conten ...

  6. JAVA_基础反射创建运行时类的对象

    通过反射去创建对应的运行时类的对象 newInstance():调用此方法,创建对应的运行时类的对象.内部调用的是空参的构造器. 要想此方法正常的创建运行时类的对象,要求: 1.运行时类必须提供空参构 ...

  7. 解锁Renderbus客户端使用新技巧----快速渲染效果图篇

    度娘说,效果图最基本的要求就是:应该符合事物的本身尺寸,不能为了美观而使用效果把相关模型的尺寸变动,那样的效果图不但不能起到表现设计的作用,反而成为影响设计的一个因素.可见高效渲染效果图是都是当下我们 ...

  8. 【RAC】11gRAC 搭建(VMware+裸设备)

    安装环境与网络规划 安装环境 主机操作系统:windows 7虚拟机VMware12:两台Oracle Linux R6 U5 x86_64 Oracle Database software: Ora ...

  9. C语言中左值和右值的区别(C语言学习笔记)

    重要的内容要重复强调: C语言的术语Ivalue指用于识别或定位一个存储位置的标识符.( 注意:左值同时还必须是可改变的) 其实rvalue的发明完全是为了搭配lvalue , rvalue你可以理解 ...

  10. Kioptrix Level 2

    简介 Vulnhub是一个提供各种漏洞环境的靶场平台. 个人学习目的:1,方便学习更多类型漏洞.2,为OSCP做打基础. 下载链接 https://www.vulnhub.com/entry/kiop ...