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 |
|
|
| 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 |