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){
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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
AC × 1
AC × 25
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


2025-04-15 (Tue)
06:02:37 +00:00