Submission #1044632

#TimeUsernameProblemLanguageResultExecution timeMemory
1044632vjudge1Street Lamps (APIO19_street_lamps)C++17
20 / 100
198 ms18416 KiB
#include <bits/stdc++.h>
#define pb push_back
#define endl ("\n")
#define all(aa) aa.begin(), aa.end()
typedef long long ll;
using namespace std;

int main(){
	int n, q;
	cin >> n >> q;
	vector<int> v(n);
	string s;
	cin >> s;
	for(int i = 0; i < n; i++) v[i] = (s[i] == '1');

	vector<vector<pair<int, int>>> Q(n);
	for(int i = 1; i <= q; i++){
		string t;
		cin >> t;
		if(t == "toggle"){
			int a; cin >> a; a--;
			Q[a].pb({i, 0});
		}
		else{
			int l, r; cin >> l >> r;
			l--, r -= 2;
			Q[l].pb({i, 1});
		}
	}
	vector<int> ans(q + 1, -1);
	for(int i = 0; i < n; i++){
		ll one = v[i];
		ll cev = 0;
		ll time = 0;
		for(auto [a, t] : Q[i]){
			cev += one * (a - time);
			if(t == 0){
				one ^=1;
			}
			else{
				ans[a] = cev;
			}
			time = a;
		}
	}

	for(int i = 0; i <= q; i++){
		if(ans[i] != -1){
			cout << ans[i] << endl;
		}
	}

}

#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...