Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main(){
- ios_base::sync_with_stdio(0), cin.tie(0);
- freopen("homework.in", "r", stdin);
- //freopen("homework_silver_dec17/10.in", "r", stdin);
- freopen("homework.out", "w", stdout);
- int n;
- cin >> n;
- int qscores[n]; //!!! index problem
- //long long qscores[n+1];
- //int sumscores = 0;
- int minscores = INT_MAX;
- long long sumscores = 0;
- //long long minscores = INT32_MAX;
- //int k = 0;
- //int avg = 0;
- //int oavg = 0;
- //int ans = 0;
- for(int i=1; i<=n; i++){
- cin >> qscores[i];
- // cout << qscores[i] << '\n';
- }
- vector<int> liAns;
- int bestPos = 0;
- long long bestSum = 0;
- bool isFirst = true;
- for(int i=n; i>0; i--){
- // cout << "i: " << i << '\n';
- sumscores+=qscores[i];
- minscores = min(minscores, qscores[i]);
- // cout << "sumscores: " << sumscores << ", minscores: " << minscores << '\n';
- //int va = (sumscores-minscores)/(n-i);
- if(i<=n-1 && i>=1){
- //cout << "i: " << i << ", sumscore: " << sumscores << ", minscores: " << minscores << ", bestPos: " << bestPos << ", bestSum: " << bestSum << ", n-i: " << n-i << endl;
- // cout << sumscores-minscores << ", " << n-i << '\n';
- if ( isFirst || (sumscores-minscores) * bestPos > bestSum * (n-i) )
- {
- liAns.clear();
- bestPos = n-i;
- bestSum = sumscores-minscores;
- liAns.push_back(i-1);
- isFirst = false;
- }else if((sumscores-minscores) * bestPos == bestSum * (n-i) )
- {
- liAns.push_back(i-1);
- }
- //avg = max(avg, va);
- //if(oavg != avg){
- //ans = i-1;
- //}
- //oavg = avg;
- }
- // cout << "avg: " << avg << '\n';
- }
- //cout << "Hi: " << liAns.size() << ": " << liAns[0]<< endl;
- for (int i = liAns.size() - 1; i >= 0; i--)
- {
- if (liAns[i] != 0)
- {
- cout<< liAns[i] << '\n' ;
- }
- }
- //cout << '\n';
- //cout << ans << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement