Submission #568767

#TimeUsernameProblemLanguageResultExecution timeMemory
568767birthdaycakeStreet Lamps (APIO19_street_lamps)C++17
20 / 100
5063 ms14560 KiB
#include<bits/stdc++.h> #define int long long #define endl '\n' #define mod 1000000007 #define boost ios_base::sync_with_stdio(false), cin.tie(NULL); using namespace std; int pref[200001],sub[200001]; signed main() { int n,q; cin >> n >> q; string a; cin >> a; for(int i = 0; i < n; i++){ if(a[i] == '1') pref[i]++; if(i) pref[i] += pref[i - 1]; sub[i] = pref[i]; } vector<pair<string,pair<int,int>>>qw(q); for(int i = 0; i < q; i++){ cin >> qw[i].first >> qw[i].second.first; if(qw[i].first != "toggle") cin >> qw[i].second.second; else qw[i].second.second = 0; int a = qw[i].second.first - 1, b = qw[i].second.second - 1; if(qw[i].first == "query"){ int ans = 0; for(int j = 0; j <= i; j++){ if(qw[j].first == "query"){ if(sub[b - 1] - (a == 0 ? 0 : sub[a - 1]) == (b - a)) ans++; }else{ if(sub[b - 1] - (a == 0 ? 0 : sub[a - 1]) == (b - a)) ans++; int c = qw[j].second.first - 1; if(sub[c] - (c == 0 ? 0 : sub[c - 1]) == 1){ for(int k = c; k < n; k++) sub[k]--; }else{ for(int k = c; k < n; k++) sub[k]++; } } } cout << ans << endl; for(int j = 0; j < n; j++){ sub[j] = pref[j]; } } } 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...