제출 #433726

#제출 시각아이디문제언어결과실행 시간메모리
433726MounirStreet Lamps (APIO19_street_lamps)C++14
20 / 100
688 ms9796 KiB
#include <bits/stdc++.h>
#define chmax(x, v) x = max(x, v)
#define pii pair<int, int>
#define pb push_back
#define all(x) x.begin(), x.end()
#define chmin(x, v) x = min(x, v)
#define sz(x) (int)x.size()
#define int long long
using namespace std;


signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);

	int nVals, nReqs; cin >> nVals >> nReqs;
	vector<int> vals(nVals), tot(nVals), depart(nVals);
	string chaine; cin >> chaine;

	for (int iVal = 0; iVal < nVals; ++iVal)
		vals[iVal] = (chaine[iVal] - '0');

	for (int iReq = 1; iReq <= nReqs; ++iReq){
		string typeReq; cin >> typeReq;
		if (typeReq == "toggle"){
			int ind; cin >> ind;
			ind--;

			if (vals[ind] == 1)
				tot[ind] += iReq - depart[ind];
			else 
				depart[ind] = iReq;
			vals[ind] ^= 1;
		}
		else {
			int a, b; cin >> a >> b;
			--a; --b;
			int sum = tot[a];
			if (vals[a] == 1)
				sum += iReq - depart[a];
			cout << sum << endl;
		}
	}
	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...