답안 #132141

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
132141 2019-07-18T10:48:15 Z MvC 가로등 (APIO19_street_lamps) C++11
0 / 100
86 ms 4560 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;
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';
	}
	sb2=1;
	for(i=1;i<=q;i++)
	{
		cin>>s;
		if(s[0]=='t')
		{
			cin>>x;
			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=0;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;
			}
			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 7
10010
q 1 2
q 2 3
q 3 4
q 4 5
q 5 6
t 1
q 1 2
*/

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")
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 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 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 86 ms 4560 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 760 KB Output is correct
2 Incorrect 24 ms 760 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 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 Incorrect 2 ms 376 KB Output isn't correct
6 Halted 0 ms 0 KB -