2 solutions
-
1
简易写法:
#include<bits/stdc++.h> using namespace std; int n; struct Node{ int idx; int time; }arr[1010]; bool cmp(Node a,Node b){ if(a.time<b.time) return 1; else if(a.time==b.time&&a.idx<b.idx) return 1; else return 0; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>arr[i].time; arr[i].idx=i; } sort(arr+1,arr+n+1,cmp); double cnt=0; for(int i=1;i<=n;i++){ cnt=cnt+(n-i)*arr[i].time; cout<<arr[i].idx<<' '; } cout<<endl<<fixed<<setprecision(2)<<cnt/n; return 0; }
Information
- ID
- 1018
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 46
- Accepted
- 15
- Uploaded By