Submission #1032836

#TimeUsernameProblemLanguageResultExecution timeMemory
1032836MuhammetStreet Lamps (APIO19_street_lamps)C++17
40 / 100
86 ms28568 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long int #define sz(x) (int)x.size() #define ff first #define ss second const ll N = 300005; const ll M = 1e9 + 7; int T, n, q, ind1[N], a1[N], b1[N], x[N], y[N]; string s[N], s1[N]; int main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> n >> q >> s[0]; if(n <= 100 and q <= 100){ for(int i = 1; i <= q; i++){ string s1; cin >> s1; s[i] = s[i-1]; if(s1 == "toggle"){ int ind; cin >> ind; ind--; if(s[i][ind] == '1') s[i][ind] = '0'; else s[i][ind] = '1'; } else { int a, b, ans = 0; cin >> a >> b; for(int j = 0; j <= i-1; j++){ bool tr = 0; for(int k = a-1; k < b-1; k++){ if(s[j][k] == '0'){ tr = 1; break; } } ans += (tr == 0); } cout << ans << '\n'; } } } else { for(int i = 0; i < sz(s[0]); i++){ if(s[0][i] == '1') x[i] = 0; else x[i] = -1; } for(int i = 1; i <= q; i++){ string s1; cin >> s1; if(s1 == "toggle"){ int ind; cin >> ind; ind--; if(s[0][ind] == '0'){ x[ind] = i; s[0][ind] = '1'; } else { y[ind] += abs(i-x[ind]); x[ind] = -1; s[0][ind] = '0'; } } else { int a, b, ans; cin >> a >> b; a--; ans = y[a]; if(x[a] != -1) ans += (abs(i-x[a])); cout << ans << "\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...