답안 #132150

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
132150 2019-07-18T10:56:50 Z MvC 가로등 (APIO19_street_lamps) C++11
40 / 100
154 ms 12232 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+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")
# 결과 실행 시간 메모리 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 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 3 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 86 ms 4580 KB Output is correct
2 Correct 93 ms 4684 KB Output is correct
3 Correct 100 ms 8376 KB Output is correct
4 Correct 119 ms 12232 KB Output is correct
5 Correct 122 ms 11460 KB Output is correct
6 Correct 109 ms 11972 KB Output is correct
7 Correct 154 ms 11240 KB Output is correct
8 Correct 141 ms 12000 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 820 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 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 3 ms 376 KB Output is correct
8 Correct 86 ms 4580 KB Output is correct
9 Correct 93 ms 4684 KB Output is correct
10 Correct 100 ms 8376 KB Output is correct
11 Correct 119 ms 12232 KB Output is correct
12 Correct 122 ms 11460 KB Output is correct
13 Correct 109 ms 11972 KB Output is correct
14 Correct 154 ms 11240 KB Output is correct
15 Correct 141 ms 12000 KB Output is correct
16 Correct 15 ms 820 KB Output is correct
17 Incorrect 24 ms 760 KB Output isn't correct
18 Halted 0 ms 0 KB -