Submission #569172

#TimeUsernameProblemLanguageResultExecution timeMemory
569172aryan12Street Lamps (APIO19_street_lamps)C++17
20 / 100
5041 ms524288 KiB
#include <bits/stdc++.h> using namespace std; #define int long long mt19937_64 RNG(chrono::steady_clock::now().time_since_epoch().count()); void Solve() { int n, q; cin >> n >> q; vector<vector<int> > dist(n + 1, vector<int> (n + 1, 0)); string s; cin >> s; for(int i = 0; i <= n; i++) { bool flag = true; for(int j = i + 1; j <= n; j++) { if(s[j - 1] == '0') flag = false; dist[i][j] = (flag) ? dist[i][j] + 1 : dist[i][j]; } } for(int i = 0; i < q; i++) { string command; cin >> command; if(command == "query") { int a, b; cin >> a >> b; a--, b--; cout << dist[a][b] << "\n"; } else { int idx; cin >> idx; idx--; s[idx] = (s[idx] == '1') ? '0' : '1'; } for(int j = 0; j <= n; j++) { bool flag = true; for(int k = j + 1; k <= n; k++) { if(s[k - 1] == '0') flag = false; dist[j][k] = (flag) ? dist[j][k] + 1 : dist[j][k]; } } } } int32_t main() { auto begin = std::chrono::high_resolution_clock::now(); ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; // cin >> t; for(int i = 1; i <= t; i++) { //cout << "Case #" << i << ": "; Solve(); } auto end = std::chrono::high_resolution_clock::now(); auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(end - begin); cerr << "Time measured: " << elapsed.count() * 1e-9 << " seconds.\n"; return 0; }
#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...