Submission #40743659
Source Code Expand
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN=1e6+10,INF=1e9;
void tomin(int& x,int y){x=min(x,y);}
void tomax(int& x,int y){x=max(x,y);}
int n;
char s[MAXN],t[MAXN];
int pre[26],R[MAXN],cnt;
void ERR(int x){
cout<<x;
exit(0);
}
typedef array<int,2> itv;
itv a[MAXN];
int main(){
cin>>n>>(s+1)>>(t+1);
int p=n;
per(i,n,1){
if(p>i)p=i;
while(p>=1 && s[p] != t[i])p--;
if(!p)ERR(-1);
tomax(R[p],i);
}
rep(i,1,n)if(R[i] > i)a[++cnt]={i,R[i]};
int ans=0;
rep(l,1,cnt){
int L=l+1,R=cnt,res=l;
while(L<=R){
int mid=(L+R)>>1;
if(a[mid][0] - (mid-l-1) <= a[l][1]){
res=mid;L=mid+1;
}else{
R=mid-1;
}
}
tomax(ans,res-l+1);
}
cout<<ans<<endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Shik and Copying String |
| User | Crying |
| Language | C++ (GCC 9.2.1) |
| Score | 1500 |
| Code Size | 1131 Byte |
| Status | AC |
| Exec Time | 100 ms |
| Memory | 17200 KB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1500 / 1500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example0.txt, example1.txt, example2.txt, example3.txt |
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, example0.txt, example1.txt, example2.txt, example3.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 000.txt | AC | 7 ms | 3512 KB |
| 001.txt | AC | 2 ms | 3528 KB |
| 002.txt | AC | 2 ms | 3400 KB |
| 003.txt | AC | 2 ms | 3476 KB |
| 004.txt | AC | 2 ms | 3548 KB |
| 005.txt | AC | 2 ms | 3452 KB |
| 006.txt | AC | 2 ms | 3408 KB |
| 007.txt | AC | 2 ms | 3548 KB |
| 008.txt | AC | 2 ms | 3540 KB |
| 009.txt | AC | 2 ms | 3448 KB |
| 010.txt | AC | 2 ms | 3360 KB |
| 011.txt | AC | 2 ms | 3488 KB |
| 012.txt | AC | 2 ms | 3376 KB |
| 013.txt | AC | 2 ms | 3496 KB |
| 014.txt | AC | 2 ms | 3408 KB |
| 015.txt | AC | 2 ms | 3508 KB |
| 016.txt | AC | 2 ms | 3492 KB |
| 017.txt | AC | 2 ms | 3472 KB |
| 018.txt | AC | 2 ms | 3576 KB |
| 019.txt | AC | 2 ms | 3412 KB |
| 020.txt | AC | 2 ms | 3480 KB |
| 021.txt | AC | 2 ms | 3512 KB |
| 022.txt | AC | 1 ms | 3484 KB |
| 023.txt | AC | 2 ms | 3456 KB |
| 024.txt | AC | 2 ms | 3488 KB |
| 025.txt | AC | 41 ms | 9380 KB |
| 026.txt | AC | 67 ms | 17104 KB |
| 027.txt | AC | 54 ms | 11284 KB |
| 028.txt | AC | 71 ms | 14228 KB |
| 029.txt | AC | 71 ms | 14232 KB |
| 030.txt | AC | 43 ms | 9652 KB |
| 031.txt | AC | 43 ms | 9880 KB |
| 032.txt | AC | 46 ms | 10020 KB |
| 033.txt | AC | 45 ms | 10052 KB |
| 034.txt | AC | 47 ms | 10132 KB |
| 035.txt | AC | 46 ms | 10176 KB |
| 036.txt | AC | 45 ms | 9912 KB |
| 037.txt | AC | 45 ms | 9844 KB |
| 038.txt | AC | 45 ms | 9568 KB |
| 039.txt | AC | 45 ms | 9308 KB |
| 040.txt | AC | 63 ms | 13828 KB |
| 041.txt | AC | 68 ms | 15152 KB |
| 042.txt | AC | 71 ms | 16748 KB |
| 043.txt | AC | 80 ms | 16996 KB |
| 044.txt | AC | 97 ms | 17152 KB |
| 045.txt | AC | 99 ms | 17044 KB |
| 046.txt | AC | 100 ms | 17060 KB |
| 047.txt | AC | 98 ms | 17200 KB |
| 048.txt | AC | 96 ms | 17016 KB |
| 049.txt | AC | 91 ms | 17188 KB |
| 050.txt | AC | 40 ms | 9248 KB |
| 051.txt | AC | 44 ms | 9252 KB |
| 052.txt | AC | 40 ms | 7432 KB |
| 053.txt | AC | 69 ms | 13204 KB |
| 054.txt | AC | 72 ms | 13296 KB |
| 055.txt | AC | 74 ms | 12596 KB |
| 056.txt | AC | 73 ms | 12460 KB |
| 057.txt | AC | 69 ms | 12352 KB |
| 058.txt | AC | 70 ms | 12244 KB |
| example0.txt | AC | 2 ms | 3404 KB |
| example1.txt | AC | 2 ms | 3540 KB |
| example2.txt | AC | 2 ms | 3548 KB |
| example3.txt | AC | 2 ms | 3448 KB |