Submission #254854

#TimeUsernameProblemLanguageResultExecution timeMemory
254854LawlietStreet Lamps (APIO19_street_lamps)C++17
20 / 100
1033 ms11164 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
const int MAXN = 300010;
 
int n, q;
 
int ans[MAXN];
int last[MAXN];

string s;
 
int main()
{
	cin >> n >> q;
	cin >> s;
 
	for(int i = 1 ; i <= q ; i++)
	{
		string type;
		cin >> type;
  
		if( type == "toggle" )
		{
			int ind;
			cin >> ind; ind--;

			if( s[ind] == '0' )
			{
				s[ind] = '1';
				last[ind] = i;
			}
			else
			{
				s[ind] = '0';
				ans[ind] += i - last[ind];
			}
		}
		if( type == "query" )
		{
			int l, r;
			cin >> l >> r; l--; r--;
  
			if( s[l] == '1' )
			{
				ans[l] += i - last[l];
				last[l] = i;
			}
 
			printf("%d\n",ans[l]);
		}
	}
}
#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...