Submission #1227319

#TimeUsernameProblemLanguageResultExecution timeMemory
1227319jer033Progression (NOI20_progression)C++20
9 / 100
372 ms7876 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) { int a, b, c, d; cin >> a >> b >> c >> d; curr_ans = N; } else if (p==3) { int a, b; cin >> a >> b; cout << curr_ans << '\n'; } else { int a, b, c, d; cin >> a >> b >> c >> d; } } }
#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...