Submission #163965

#TimeUsernameProblemLanguageResultExecution timeMemory
163965Leonardo_PaesStreet Lamps (APIO19_street_lamps)C++17
20 / 100
18 ms14840 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 3e5+10; int n, q; string initial; vector<int> toggles; vector<int> events[maxn]; int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); cin >> n >> q; initial.resize(n+2); for(int i=1; i<=n; i++){ cin >> initial[i]; if(initial[i]=='0') events[i].push_back(0); } toggles.push_back(0); if(n<=100 and q<=100){ for(int t=1; t<=q; t++){ string op; cin >> op; if(op[0] == 'q'){ int a, b; cin >> a >> b; string now = initial; int ans = 0; for(int i=0; i<toggles.size(); i++){ if(now[toggles[i]]=='0') now[toggles[i]] = '1'; else now[toggles[i]] = '0'; bool ok = true; for(int j=a; j<b; j++) if(now[j] == '0') ok = false; if(ok) ans++; } cout << ans << endl; toggles.push_back(0); } else{ int i; cin >> i; toggles.push_back(i); } } } else{ for(int t=1; t<=q; t++){ string op; cin >> op; if(op[0] == 'q'){ int a, b; cin >> a >> b; int ans = 0; for(int i=0; i<events[a].size(); i++){ if(i%2){ ans += events[a][i] - events[a][i-1]; } else{ continue; } } if(events[a].size()%2 == 0) ans += t - events[a].back(); cout << ans << endl; } else{ int i; cin >> i; events[i].push_back(t); } } } return 0; }

Compilation message (stderr)

street_lamps.cpp: In function 'int main()':
street_lamps.cpp:44:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(int i=0; i<toggles.size(); i++){
                              ~^~~~~~~~~~~~~~~
street_lamps.cpp:81:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(int i=0; i<events[a].size(); i++){
                              ~^~~~~~~~~~~~~~~~~
#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...