Submission #537201

#TimeUsernameProblemLanguageResultExecution timeMemory
537201blueProgression (NOI20_progression)C++17
15 / 100
3061 ms14464 KiB
#include <iostream> #include <vector> using namespace std; using ll = long long; using vll = vector<ll>; int main() { int N, Q; cin >> N >> Q; vll D(1+N); for(int i = 1; i <= N; i++) cin >> D[i]; for(int j = 1; j <= Q; j++) { int o; cin >> o; if(o == 1) { ll L, R, S, C; cin >> L >> R >> S >> C; for(int i = L; i <= R; i++) D[i] += S + C*(i - L); } else if(o == 2) { ll L, R, S, C; cin >> L >> R >> S >> C; for(int i = L; i <= R; i++) D[i] = S + C*(i - L); } else { ll L, R; cin >> L >> R; vll diffs; for(int i = L; i < R; i++) diffs.push_back(D[i+1] - D[i]); ll res = 0; while(!diffs.empty()) { ll v = diffs.back(); ll curr = 0; while(!diffs.empty() && diffs.back() == v) { curr++; diffs.pop_back(); } res = max(res, curr); } cout << 1+res << '\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...