Submission #60066048
Source Code Expand
Copy
#include<bits/stdc++.h>using namespace std;namespace SOLUTION{const int maxn=1e5+5;char str[maxn];int sum[2][maxn],vec[maxn];inline int main(){int n,q;cin>>n>>q>>str;for(int i=n;i;--i){str[i]=str[i-1];}int tot=0;for(int i=1;i<=n;++i){sum[0][i]=sum[0][i-1]+(str[i]=='1');sum[1][i]=sum[1][i-1]+(str[i]=='2');if(str[i]=='/'){vec[++tot]=i;}}for(int i=1;i<=q;++i){
#include<bits/stdc++.h> using namespace std; namespace SOLUTION{ const int maxn=1e5+5; char str[maxn]; int sum[2][maxn],vec[maxn]; inline int main(){ int n,q; cin>>n>>q>>str; for(int i=n;i;--i){ str[i]=str[i-1]; } int tot=0; for(int i=1;i<=n;++i){ sum[0][i]=sum[0][i-1]+(str[i]=='1'); sum[1][i]=sum[1][i-1]+(str[i]=='2'); if(str[i]=='/'){ vec[++tot]=i; } } for(int i=1;i<=q;++i){ int l,r; cin>>l>>r; int L=lower_bound(vec+1,vec+tot+1,l)-vec; int R=upper_bound(vec+1,vec+tot+1,r)-vec-1; if(L>R){ cout<<"0\n"; continue; } int u=L,v=R; while(L<R){ int mid=(L+R)>>1; if(sum[0][vec[mid]]-sum[0][l-1]>=sum[1][r]-sum[1][vec[mid]]){ R=mid; } else{ L=mid+1; } } int ans=min(sum[0][vec[L]]-sum[0][l-1],sum[1][r]-sum[1][vec[L]]); L=u,R=v; while(L<R){ int mid=(L+R+1)>>1; if(sum[0][vec[mid]]-sum[0][l-1]<=sum[1][r]-sum[1][vec[mid]]){ L=mid; } else{ R=mid-1; } } ans=max(ans,min(sum[0][vec[L]]-sum[0][l-1],sum[1][r]-sum[1][vec[L]])); cout<<(ans<<1)+1<<"\n"; } return 0; } } int main(){ //freopen(".in","r",stdin); //freopen(".out","w",stdout); ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); SOLUTION::main(); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - 11/22 Subsequence |
User | sangshang |
Language | C++ 20 (gcc 12.2) |
Score | 500 |
Code Size | 1336 Byte |
Status | AC |
Exec Time | 48 ms |
Memory | 4552 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt |
All | 00_sample_00.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 02_corner_00.txt, 02_corner_01.txt, 02_corner_02.txt, 02_corner_03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 1 ms | 3448 KB |
01_random_00.txt | AC | 46 ms | 4432 KB |
01_random_01.txt | AC | 42 ms | 4132 KB |
01_random_02.txt | AC | 42 ms | 4476 KB |
01_random_03.txt | AC | 41 ms | 4212 KB |
01_random_04.txt | AC | 46 ms | 4488 KB |
01_random_05.txt | AC | 47 ms | 4152 KB |
01_random_06.txt | AC | 38 ms | 4468 KB |
01_random_07.txt | AC | 27 ms | 4064 KB |
01_random_08.txt | AC | 41 ms | 4396 KB |
01_random_09.txt | AC | 44 ms | 4108 KB |
01_random_10.txt | AC | 30 ms | 4424 KB |
01_random_11.txt | AC | 38 ms | 4300 KB |
01_random_12.txt | AC | 37 ms | 4364 KB |
01_random_13.txt | AC | 39 ms | 4076 KB |
01_random_14.txt | AC | 38 ms | 4552 KB |
01_random_15.txt | AC | 35 ms | 4112 KB |
01_random_16.txt | AC | 48 ms | 4548 KB |
01_random_17.txt | AC | 40 ms | 4028 KB |
01_random_18.txt | AC | 32 ms | 4364 KB |
01_random_19.txt | AC | 13 ms | 4312 KB |
02_corner_00.txt | AC | 14 ms | 4292 KB |
02_corner_01.txt | AC | 12 ms | 3428 KB |
02_corner_02.txt | AC | 8 ms | 3404 KB |
02_corner_03.txt | AC | 8 ms | 3540 KB |