QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#827798#9901. 匹配TaoRan100 ✓20ms36976kbC++141.4kb2024-12-23 10:06:462024-12-23 10:06:56

Judging History

This is the latest submission verdict.

  • [2024-12-23 10:06:56]
  • Judged
  • Verdict: 100
  • Time: 20ms
  • Memory: 36976kb
  • [2024-12-23 10:06:46]
  • Submitted

answer

#include<bits/stdc++.h>
#define pt putchar
using namespace std;
typedef long long ll;
const int N=1e6+5;
const int mod1=998244353,mod2=1e9+9,B=517;
int read();
void write(int x);
int n,p;
char s[N],t[N];

ll pw1[N],pw2[N],h1[N],h2[N];

bool check(int l){
	for(int i=1;i+l-1<=n;i++){
		int eq=(((h1[i+l-1]-h1[i-1])*pw1[p]-(h1[p+l-1]-h1[p-1])*pw1[i])%mod1)+(((h2[i+l-1]-h2[i-1])*pw2[p]-(h2[p+l-1]-h2[p-1])*pw2[i])%mod2)==0;
		if(eq==1&&t[i]=='0'){
			return 0;//duan l
		}
		if(eq==0&&t[i]=='1'){
			return 1;//chang l
		}
	}
	for(int i=p;i<=p+l-1;i++){
		pt(s[i]);
	}
	exit(0);
	return 1;
}

int main(){
	scanf("%s",s+1);
	scanf("%s",t+1);
	p=n=strlen(s+1);
	pw1[0]=pw2[0]=1;
	for(int i=1;i<=n;i++){
		pw1[i]=pw1[i-1]*B%mod1;
		pw2[i]=pw2[i-1]*B%mod2;
		h1[i]=(h1[i-1]+s[i]*pw1[i])%mod1;
		h2[i]=(h2[i-1]+s[i]*pw2[i])%mod2;
	}
	while(p>=1){
		if(t[p]=='1'){
			break;
		}
		else if(p==1){
			puts("iakioi");return 0;
		}
		p--;
	}
	int l=1,r=n-p+1;
	while(l<=r){
		int mid=(l+r)/2;
		if(check(mid)){
			r=mid-1;
		}
		else{
			l=mid+1;
		}
	}
	puts("-1");
	return 0;
}

int read(){
	int x=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-'){
			f=-1;
		}
		c=getchar();
	}
	while('0'<=c&&c<='9'){
		x=x*10+c-'0';
		c=getchar();
	}
	return x*f;
}
void write(int x){
	if(x<0){
		pt('-');
		x=-x;
	}
	if(x>9){
		write(x/10);
	}
	pt(x%10+'0');
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Pretests


Final Tests

Test #1:

score: 10
Accepted
time: 1ms
memory: 9764kb

input:

baaaaaaaaa
0111111110

output:

aa

result:

ok Correct output: valid string T.

Test #2:

score: 10
Accepted
time: 1ms
memory: 9900kb

input:

abbabbabab
0100100000

output:

bba

result:

ok Correct output: valid string T.

Test #3:

score: 10
Accepted
time: 0ms
memory: 9828kb

input:

abbabaabba
0000000000

output:

iakioi

result:

ok Correct output: valid string T.

Test #4:

score: 10
Accepted
time: 1ms
memory: 9776kb

input:

trtrttrtrttrttrtrttrtrttrttrtrttrttrtrttrtrttrttrtrtnrtrttrtkrtrttrttrtrttrtrttrttrtrttrttetrttrtrtt
0000000000001000000000000000000001000000000000000000000000000000000100000000000000000000000000000000

output:

ttrtrttrtrttrttrt

result:

ok Correct output: valid string T.

Test #5:

score: 10
Accepted
time: 1ms
memory: 9964kb

input:

bcljjabnbcljjabnbcljjagnbcljjabnbcljjabnbcljjabnbcljjahnbcljjabnbcljjabnbcljjabnbcljjabnbcljjabnbclj
0000000000000000000000010000000100000000000000000000000100000001000000000000000100000000000000000000

output:

-1

result:

ok Correct output: -1

Test #6:

score: 10
Accepted
time: 1ms
memory: 9928kb

input:

muumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummumuumummuummumuumummumuummvumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummu...

output:

mmuumummumuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuum

result:

ok Correct output: valid string T.

Test #7:

score: 10
Accepted
time: 1ms
memory: 9956kb

input:

mppmppmpmppmppmpmppmpmppmppmpmdpmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppm...

output:

mppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmp

result:

ok Correct output: valid string T.

Test #8:

score: 10
Accepted
time: 14ms
memory: 36764kb

input:

falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...

output:

falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...

result:

ok Correct output: valid string T.

Test #9:

score: 10
Accepted
time: 18ms
memory: 36976kb

input:

cnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaozn...

output:

znacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacna...

result:

ok Correct output: valid string T.

Test #10:

score: 10
Accepted
time: 20ms
memory: 36944kb

input:

bvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvov...

output:

bvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbv...

result:

ok Correct output: valid string T.

Extra Test:

score: 0
Extra Test Passed