这题因为说只有一个水龙头,而如果你要最快接完水,那么总共排队时间一定要是最短的,如果你要总排队时间最短,那就只能从小到大sort排序。
CODE:
#include<bits/stdc++.h>
using namespace std;
struct st{
int d,c;
}a[10001];
bool cmp(st b,st e){
if(b.d==e.d)
return b.c<e.c;
else return b.d<e.d;
}
int sum=0,b[10001];
int main(){
int n;
double sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].d;
a[i].c=i;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].c<<" ";
for(int j=1;j<=i;j++)sum+=a[j].d;
}
cout<<endl;
printf("%.2lf",sum/n);
return 0;
}
864

被折叠的 条评论
为什么被折叠?



