Advertisement
tepyotin2

My Cow Ate my Homework

Oct 15th, 2023
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. const int MAX_N = 100000;
  4. using namespace std;
  5.  
  6. long long score[MAX_N+1];
  7. long long suffix_sum[MAX_N+1];
  8. long long suffix_min[MAX_N+1];
  9. long long best_num, best_den;
  10.  
  11. int main(void)
  12. {
  13.   ifstream fin ("homework.in");
  14.   ofstream fout ("homework.out");
  15.  
  16.   int N;
  17.  
  18.   fin >> N;
  19.   for (int i=1; i<=N; i++)
  20.     fin >> score[i];
  21.  
  22.   suffix_sum[N] = score[N];
  23.   suffix_min[N] = score[N];
  24.   for (int i=N-1; i>=1; i--) {
  25.     suffix_sum[i] = suffix_sum[i+1] + score[i];
  26.     suffix_min[i] = min(suffix_min[i+1], score[i]);
  27.   }
  28.  
  29.   best_num = 0;
  30.   best_den = 1;
  31.  
  32.   for (int i=1; i<=N-2; i++)
  33.     if ((suffix_sum[i+1]-suffix_min[i+1]) * best_den > best_num * (N-i-1)) {
  34.       best_num = suffix_sum[i+1]-suffix_min[i+1];
  35.       best_den = N-i-1;
  36.     }
  37.  
  38.   for (int i=1; i<=N-2; i++)
  39.     if ((suffix_sum[i+1]-suffix_min[i+1]) * best_den == best_num * (N-i-1))
  40.       fout << i << "\n";
  41.  
  42.   return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement