Submission #287989

#TimeUsernameProblemLanguageResultExecution timeMemory
287989oolimryBigger segments (IZhO19_segments)C++14
0 / 100
2 ms384 KiB
#include <bits/stdc++.h> #define all(x) (x).begin(), (x).end() #define sz(x) (int) (x).size() using namespace std; typedef long long lint; typedef pair<int,lint> ii; typedef pair<lint,ii> iii; int arr[500006]; int main(){ freopen("i.txt","r",stdin); ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; for(int i = 1;i <= n;i++) cin >> arr[i]; lint prefix = 0; deque<iii> D; D.push_back(iii(0,ii(0,0))); for(int i = 1;i <= n;i++){ prefix += arr[i]; while(sz(D) > 1){ if(D[1].first <= prefix) D.pop_front(); else break; } ii res = D[0].second; int most = res.first + 1; lint take = prefix - res.second; if(i == n) cout << most; while(sz(D) > 0){ iii T = D.back(); if(T.first >= take + prefix) D.pop_back(); else break; } D.push_back(iii(take+prefix, ii(most, prefix))); } }

Compilation message (stderr)

segments.cpp: In function 'int main()':
segments.cpp:12:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   12 |  freopen("i.txt","r",stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...