Submission #38256951


Source Code Expand

#include<bits/stdc++.h>
#define N 200009
using namespace std;
typedef long long ll;
const int mod=998244353;
int n,ch[N][27],head[50];
char s[N],t[N];
inline ll rd(){
	ll x=0;char c=getchar();bool f=0;
	while(!isdigit(c)){if(c=='-')f=1;c=getchar();}
	while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();}
	return f?-x:x;
}
bool check(int mid){
	int g=0,p=0;
	for(int i=mid+1;i<=n;++i){
		p=ch[p][s[i]-'a'];
		if(p==n+1){
			g=1;
			break;
		}
	}
	if(!g)return 1;
	return 0;
}
int pp[50];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin>>n>>(s+1)>>(t+1);
	for(int i=1;i<=n;++i){
		pp[s[i]-'a']++;
		pp[t[i]-'a']--;
	}
	int g=0;
	for(int i=0;i<26;++i){
		if(pp[i]!=0){
			g=1;
		}
	}
	if(g){
		cout<<-1<<endl;
		return 0;
	}
	for(int i=0;i<26;++i)head[i]=n+1;
	for(int i=n;i>=0;--i){
		for(int j=0;j<26;++j){
			ch[i][j]=head[j];
		}
		if(i)head[t[i]-'a']=i;
	}
	int l=0,r=n,ans=n;
	while(l<=r){
		int mid=(l+r)>>1;
		if(check(mid)){
			ans=mid;
			r=mid-1;
		}
		else l=mid+1;
	}
	cout<<ans;
    return 0;
}

Submission Info

Submission Time
Task B - New Place
User comld
Language C++ (GCC 9.2.1)
Score 400
Code Size 1096 Byte
Status AC
Exec Time 35 ms
Memory 25108 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 18
Set Name Test Cases
Sample example_00.txt, example_01.txt
All example_00.txt, example_01.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt
Case Name Status Exec Time Memory
example_00.txt AC 8 ms 3548 KiB
example_01.txt AC 2 ms 3472 KiB
test_00.txt AC 2 ms 3548 KiB
test_01.txt AC 2 ms 3564 KiB
test_02.txt AC 3 ms 3972 KiB
test_03.txt AC 20 ms 14964 KiB
test_04.txt AC 20 ms 19052 KiB
test_05.txt AC 6 ms 6312 KiB
test_06.txt AC 35 ms 24540 KiB
test_07.txt AC 16 ms 12440 KiB
test_08.txt AC 2 ms 3672 KiB
test_09.txt AC 2 ms 3536 KiB
test_10.txt AC 29 ms 25000 KiB
test_11.txt AC 35 ms 25108 KiB
test_12.txt AC 25 ms 25004 KiB
test_13.txt AC 31 ms 24988 KiB
test_14.txt AC 26 ms 25080 KiB
test_15.txt AC 23 ms 24996 KiB