Submission #2697236
Source Code Expand
#include<bits/stdc++.h> using namespace std; using Int = long long; template<typename T1,typename T2> inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template<typename T1,typename T2> inline void chmax(T1 &a,T2 b){if(a<b) a=b;} signed main(){ cin.tie(0); ios::sync_with_stdio(0); Int n; string a,b; cin>>n>>a>>b; if(a.size()<b.size()) a=string(b.size()-a.size(),'0')+a; if(a.size()>b.size()) b=string(a.size()-b.size(),'0')+b; const Int l=a.size(); const Int BS = 600; vector<Int> cnt(l/BS+1,0),sft(l/BS+1,0); auto calc=[&](Int x){ Int y=x*BS; cnt[x]=0; sft[x]=-l*2; for(Int i=0;i<BS;i++){ if(y+i>=l) break; if(b[y+i]=='1') chmax(sft[x],cnt[x]+(a[y+i]=='1')+l-(y+i+1)); cnt[x]+=a[y+i]=='1'||b[y+i]=='1'; } //cout<<x<<":"<<cnt[x]<<" "<<sft[x]<<endl; }; for(Int i=0;i<l;i+=BS) calc(i/BS); Int ans=0; auto recalc=[&](){ ans=0; Int tmp=0; for(Int i=0;i<l;i+=BS){ Int x=i/BS; chmax(ans,tmp+sft[x]); tmp+=cnt[x]; } }; for(Int i=0;i<n;i++){ char c; cin>>c; if(c=='Q'){ recalc(); cout<<ans<<endl; continue; } Int p; cin>>p; p++; if(c=='A') a[l-p]=!(a[l-p]-'0')+'0'; if(c=='B') b[l-p]=!(b[l-p]-'0')+'0'; calc((l-p)/BS); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | I - A + B |
User | beet |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1380 Byte |
Status | AC |
Exec Time | 1495 ms |
Memory | 1960 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00-gray1-1.txt, 00-gray1-2.txt, 00-gray1-3.txt, 00-gray1-4.txt, 00-gray1-5.txt, 00-gray1-6.txt, 00-gray1-7.txt, 00-gray2-1.txt, 00-gray2-2.txt, 00-gray2-3.txt, 00-gray2-4.txt, 00-gray2-5.txt, 00-gray2-6.txt, 00-gray2-7.txt, 00-gray3-1.txt, 00-gray3-2.txt, 00-gray3-3.txt, 00-gray3-4.txt, 00-gray3-5.txt, 00-gray3-6.txt, 00-gray3-7.txt, 00-gray4-1.txt, 00-gray4-2.txt, 00-gray4-3.txt, 00-gray4-4.txt, 00-gray4-5.txt, 00-gray4-6.txt, 00-gray4-7.txt, 00-gray5-1.txt, 00-gray5-2.txt, 00-gray5-3.txt, 00-gray5-4.txt, 00-gray5-5.txt, 00-gray5-6.txt, 00-gray5-7.txt, 00-gray6-1.txt, 00-gray6-2.txt, 00-gray6-3.txt, 00-gray6-4.txt, 00-gray6-5.txt, 00-gray6-6.txt, 00-gray6-7.txt, 00-gray7-1.txt, 00-gray7-2.txt, 00-gray7-3.txt, 00-gray7-4.txt, 00-gray7-5.txt, 00-gray7-6.txt, 00-gray7-7.txt, 00-sample1.txt, 50-random00.txt, 50-random01.txt, 50-random02.txt, 50-random03.txt, 50-random04.txt, 50-random05.txt, 50-random06.txt, 50-random07.txt, 50-random08.txt, 50-random09.txt, 50-random10.txt, 50-random11.txt, 50-random12.txt, vsparallel00.txt, vsparallel01.txt, vsparallel02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00-gray1-1.txt | AC | 1 ms | 256 KB |
00-gray1-2.txt | AC | 1 ms | 256 KB |
00-gray1-3.txt | AC | 1 ms | 256 KB |
00-gray1-4.txt | AC | 1 ms | 256 KB |
00-gray1-5.txt | AC | 1 ms | 256 KB |
00-gray1-6.txt | AC | 1 ms | 256 KB |
00-gray1-7.txt | AC | 2 ms | 256 KB |
00-gray2-1.txt | AC | 1 ms | 256 KB |
00-gray2-2.txt | AC | 1 ms | 256 KB |
00-gray2-3.txt | AC | 1 ms | 256 KB |
00-gray2-4.txt | AC | 1 ms | 256 KB |
00-gray2-5.txt | AC | 1 ms | 256 KB |
00-gray2-6.txt | AC | 2 ms | 256 KB |
00-gray2-7.txt | AC | 2 ms | 256 KB |
00-gray3-1.txt | AC | 1 ms | 256 KB |
00-gray3-2.txt | AC | 1 ms | 256 KB |
00-gray3-3.txt | AC | 1 ms | 256 KB |
00-gray3-4.txt | AC | 1 ms | 256 KB |
00-gray3-5.txt | AC | 2 ms | 256 KB |
00-gray3-6.txt | AC | 2 ms | 256 KB |
00-gray3-7.txt | AC | 3 ms | 256 KB |
00-gray4-1.txt | AC | 1 ms | 256 KB |
00-gray4-2.txt | AC | 1 ms | 256 KB |
00-gray4-3.txt | AC | 1 ms | 256 KB |
00-gray4-4.txt | AC | 2 ms | 256 KB |
00-gray4-5.txt | AC | 2 ms | 256 KB |
00-gray4-6.txt | AC | 3 ms | 256 KB |
00-gray4-7.txt | AC | 5 ms | 256 KB |
00-gray5-1.txt | AC | 1 ms | 256 KB |
00-gray5-2.txt | AC | 1 ms | 256 KB |
00-gray5-3.txt | AC | 1 ms | 256 KB |
00-gray5-4.txt | AC | 2 ms | 256 KB |
00-gray5-5.txt | AC | 3 ms | 256 KB |
00-gray5-6.txt | AC | 5 ms | 256 KB |
00-gray5-7.txt | AC | 8 ms | 256 KB |
00-gray6-1.txt | AC | 1 ms | 256 KB |
00-gray6-2.txt | AC | 2 ms | 256 KB |
00-gray6-3.txt | AC | 2 ms | 256 KB |
00-gray6-4.txt | AC | 3 ms | 256 KB |
00-gray6-5.txt | AC | 5 ms | 256 KB |
00-gray6-6.txt | AC | 8 ms | 256 KB |
00-gray6-7.txt | AC | 15 ms | 256 KB |
00-gray7-1.txt | AC | 1 ms | 256 KB |
00-gray7-2.txt | AC | 2 ms | 256 KB |
00-gray7-3.txt | AC | 3 ms | 256 KB |
00-gray7-4.txt | AC | 4 ms | 256 KB |
00-gray7-5.txt | AC | 8 ms | 256 KB |
00-gray7-6.txt | AC | 15 ms | 256 KB |
00-gray7-7.txt | AC | 29 ms | 256 KB |
00-sample1.txt | AC | 1 ms | 256 KB |
50-random00.txt | AC | 550 ms | 896 KB |
50-random01.txt | AC | 541 ms | 896 KB |
50-random02.txt | AC | 551 ms | 896 KB |
50-random03.txt | AC | 549 ms | 896 KB |
50-random04.txt | AC | 512 ms | 896 KB |
50-random05.txt | AC | 1475 ms | 1960 KB |
50-random06.txt | AC | 1470 ms | 1832 KB |
50-random07.txt | AC | 1492 ms | 1792 KB |
50-random08.txt | AC | 1472 ms | 1832 KB |
50-random09.txt | AC | 1495 ms | 1908 KB |
50-random10.txt | AC | 476 ms | 512 KB |
50-random11.txt | AC | 477 ms | 512 KB |
50-random12.txt | AC | 477 ms | 512 KB |
vsparallel00.txt | AC | 710 ms | 1820 KB |
vsparallel01.txt | AC | 694 ms | 1820 KB |
vsparallel02.txt | AC | 705 ms | 1820 KB |