Submission #619484

#TimeUsernameProblemLanguageResultExecution timeMemory
619484ArsBudAddk (eJOI21_addk)C++14
0 / 100
1934 ms1180 KiB
#include <iostream> using namespace std; int N, K, Q, z, n, nuo, iki, sek, ats = 0, sum = 0; int m[1000005]; int main() { ios_base::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr); cin >> N >> K; for(int a = 0; a < N; a++) { cin >> m[a]; } cin >> Q; for(int a = 0; a < Q; a++) { cin >> z; if(z == 1) { cin >> n; n--; int buv = n, p = m[n]; for(int b = 1; b < K; b++) { cin >> n; n--; m[buv] = m[n]; buv = n; } m[buv] = p; } if(z == 2) { cin >> nuo >> iki >> sek; nuo--; iki--; int pr = 0; sum = 0; for(int b = nuo; b <= iki; b++) { sum+= m[b]; if(nuo == 0 && b + 1 >= sek) { ats += sum - pr; pr += m[b - sek + nuo + 1]; // cout << "pr = " << pr << ", b - sek + nuo + 1 = " << b - sek + nuo + 1 << ", m[b - sek + nuo + 1] = " << m[b - sek + nuo + 1] << '\n'; } else if((b - min(nuo, iki) + 1 >= sek) || (sek == 1 && nuo == iki)) { ats += sum - pr; pr += m[b - sek + nuo]; } // cout << "min(nuo, iki) = " << min(nuo, iki) << ", b = " << b << ", m[b] = " << m[b] << ", sum = " << sum << ", pr = " << pr << ", ats = " << ats << '\n'; } cout << ats << '\n'; ats = 0; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...