Submission #132154

# Submission time Handle Problem Language Result Execution time Memory
132154 2019-07-18T11:02:41 Z MvC Street Lamps (APIO19_street_lamps) C++11
20 / 100
145 ms 8432 KB
#pragma GCC target("avx2")
#pragma GCC optimization("O3")
#pragma GCC optimization("unroll-loops")
#include<bits/stdc++.h>
//#include "aliens.h"
#define rc(x) return cout<<x<<endl,0
#define pb push_back
#define mkp make_pair
#define in insert
#define er erase
#define fd find
#define fr first
#define sc second
typedef long long ll;
typedef long double ld;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll llinf=(1LL<<62);
const int inf=(1<<30);
const int nmax=3e5+50;
const int mod=1e9+7;
using namespace std;
int n,q,a[nmax],nr[105][105],x,y,i,j,ta[nmax],tt[nmax],rs,sb2,t,b[nmax],sb3;
string s;
char c;
vector<pair<int,int> >qr;
int main()
{
	//freopen("sol.in","r",stdin);
	//freopen("sol.out","w",stdout);
	//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
	ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
	cin>>n>>q;
	for(i=1;i<=n;i++)
	{
		cin>>c;
		a[i]=c-'0';
		b[i]=a[i];
	}
	sb2=1,sb3=1;
	for(i=1;i<=q;i++)
	{
		cin>>s;
		if(s[0]=='t')
		{
			cin>>x;
			b[x]^=1;
			if(!b[x])sb3=0;
			qr.pb(mkp(x,0));
		}
		else
		{
			cin>>x>>y;
			qr.pb(mkp(x,y));
			if(x+1!=y)sb2=0;
		}
	}
	if(sb2)
	{
		//cout<<1<<endl;
		for(i=1;i<=q;i++)
		{
			x=qr[i-1].fr,y=qr[i-1].sc;
			if(!y)
			{
				a[x]^=1;
				if(!a[x])tt[x]+=i-ta[x];
				else ta[x]=i;
			}
			else
			{
				rs=tt[x];
				if(a[x])rs+=i-ta[x];
				cout<<rs<<'\n';
			}
		}
	}
	else if(sb3)
	{
		for(i=1;i<=q;i++)
		{
			x=qr[i].fr,y=qr[i].sc;
			if(!y)
			{
				a[x]^=1;
				if(!a[x])tt[x]+=i-ta[x]+1;
				else ta[x]=i+1;
			}
			else
			{
				rs=tt[x];
				if(a[x])rs+=i-ta[x]+1;
				cout<<rs<<'\n';
			}
		}
	}
	else
	{
		for(t=0;t<q;t++)
		{
			for(i=1;i<=n;i++)
			{
				for(j=i;j<=n;j++)
				{
					if(!a[j])break;
					nr[i][j]++;
				}
			}
			x=qr[t].fr,y=qr[t].sc;
			if(!y)a[x]^=1;
			else cout<<nr[x][y-1]<<'\n';
		}
	}
    return 0;
}
/*
5 11
10010
q 1 2
q 2 3
q 3 4
q 4 5
q 5 6
t 1
q 1 2
t 2
q 2 3
t 2
q 2 3
*/

Compilation message

street_lamps.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
street_lamps.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
# Verdict Execution time Memory Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Incorrect 2 ms 376 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 87 ms 4584 KB Output is correct
2 Correct 92 ms 4584 KB Output is correct
3 Correct 99 ms 4708 KB Output is correct
4 Correct 130 ms 8432 KB Output is correct
5 Correct 131 ms 7392 KB Output is correct
6 Correct 119 ms 8252 KB Output is correct
7 Correct 141 ms 6888 KB Output is correct
8 Correct 145 ms 7220 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 6 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Incorrect 2 ms 376 KB Output isn't correct
7 Halted 0 ms 0 KB -