Submission #1227318

#TimeUsernameProblemLanguageResultExecution timeMemory
1227318jer033Progression (NOI20_progression)C++20
0 / 100
152 ms7496 KiB
#include <bits/stdc++.h> using ll = long long; using namespace std; ll solve(vector<ll> diff, int l, int r) { if ((r-l)<=1) return r-l+1; int N = diff.size(); vector<int> barriers; barriers.push_back(l); for (int i=l+1; i<=(r-1); i++) { if (2*diff[i]-diff[i-1]-diff[i+1]) barriers.push_back(i); } barriers.push_back(r); int k = barriers.size(); int bes = 0; for (int i=1; i<k; i++) bes = max(bes, barriers[i]-barriers[i-1]); bes++; return bes; } int main() { int N, Q; cin >> N >> Q; vector<ll> diff(N); for (int i=0; i<N; i++) cin >> diff[i]; vector<ll> ddiff(N); ll curr_ans = solve(diff, 0, N-1); while (Q--) { int p; cin >> p; if (p==2) curr_ans = N; else if (p==3) cout << curr_ans << '\n'; } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...