Submission #361419

#TimeUsernameProblemLanguageResultExecution timeMemory
361419kimbj0709Hacker (BOI15_hac)C++14
100 / 100
594 ms51788 KiB
#include <bits/stdc++.h>
using namespace std;
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);cout.tie(0);
  int n;
  cin >> n;
  vector<int> vect1;
  int input;
  for(int i=0;i<n;i++){
    cin >> input;
    vect1.push_back(input);
  }
  for(int i=0;i<3;i++){
    for(int j=0;j<n;j++){
      vect1.push_back(vect1[j]);
    }
  }
  vector<int> prefix(n*10,0);
  for(int i=0;i<vect1.size();i++){
    prefix[i] = vect1[i];
    if(i!=0){
      prefix[i] += prefix[i-1];
    }
  }
  int mx = 3*n;
  int mx2 = 2*n;
  n = (n+1)/2;
  vector<int> nums(n*10,0);
  for(int i=0;i<mx;i++){
    int currsum = prefix[i+n-1];
    if(i!=0){
      currsum -= prefix[i-1];
    }
    nums[i] = currsum;
  }
  multiset<int> set1;
  int ans = 0;
  for(int i=0;i<n;i++){
    set1.insert(nums[i]);
  }
  ans = *set1.begin();
  for(int i=n;i<=mx2;i++){
    set1.insert(nums[i]);
    set1.erase(set1.find(nums[i-n]));
    ans = max(ans,*set1.begin());
    //cout << *set1.begin() << " " << set1.size() << "\n";
  }
  cout << ans;
}

Compilation message (stderr)

hac.cpp: In function 'int32_t main()':
hac.cpp:20:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   for(int i=0;i<vect1.size();i++){
      |               ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...