Submission #1777514
Source Code Expand
#include<bits/stdc++.h>
#define sqr(x) ((x)*(x))
#define ll long long
#define ull unsigned long long
#define ui unsigned int
#define ld long double
#define vi vector<int>
#define HEAP(...) priority_queue<__VA_ARGS__ >
#define heap(...) priority_queue<__VA_ARGS__,vector<__VA_ARGS__ >,greater<__VA_ARGS__ > >
#define pii pair<int,int>
#define pb push_back
#define mp make_pair
#define debuge cerr<<"isok"<<endl
#define debug(x) cerr<<#x<<"="<<x<<endl
#define dprintf(...) fprintf(stderr,__VA_ARGS__)
#define SS second
#define FF first
#define ls (k<<1)
#define rs (k<<1|1)
#define clr(a,x) memset(a,x,sizeof(a))
#define cpy(a,x) memcpy(a,x,sizeof(a))
#define file(x) freopen(x".in","r",stdin),freopen(x".out","w",stdout)
#define SZ(x) ((int)x.size())
using namespace std;
template<class T> inline void gmin(T &x,const T &y){if(x>y) x=y;}
template<class T> inline void gmax(T &x,const T &y){if(x<y) x=y;}
const int BufferSize=1<<16;
char buffer[BufferSize],*Bufferhead,*Buffertail;
bool Terminal;
inline char Getchar(){
if(Bufferhead==Buffertail){
int l=fread(buffer,1,BufferSize,stdin);
if(!l){Terminal=1;return 0;}
Buffertail=(Bufferhead=buffer)+l;
}
return *Bufferhead++;
}
template<class T>inline bool read(T &x){
x=0;char c=Getchar(),rev=0;
while(c<'0'||c>'9'){rev|=c=='-';c=Getchar();if(Terminal)return 0;}
while(c>='0'&&c<='9') x=x*10+c-'0',c=Getchar();
if(c=='.'){
c=Getchar();double t=0.1;
while(c>='0'&&c<='9') x=x+(c-'0')*t,c=Getchar(),t=t/10;
}
x=rev?-x:x;
return 1;
}
template<class T1,class T2> inline bool read(T1 &x,T2 &y){return read(x)&read(y);}
template<class T1,class T2,class T3> inline bool read(T1 &x,T2 &y,T3 &z){return read(x)&read(y)&read(z);}
template<class T1,class T2,class T3,class T4> inline bool read(T1 &x,T2 &y,T3 &z,T4 &w){return read(x)&read(y)&read(z)&read(w);}
inline bool reads(char *x){
char c=Getchar();
while(c<33||c>126){c=Getchar();if(Terminal)return 0;}
while(c>=33&&c<=126) (*x++)=c,c=Getchar();
*x=0;return 1;
}
template<class T>inline void print(T x,const char c='\n'){
if(!x){putchar('0');putchar(c);return;}
if(x<0) putchar('-'),x=-x;
int m=0,a[20];
while(x) a[m++]=x%10,x/=10;
while(m--) putchar(a[m]+'0');
putchar(c);
}
//--------------------------------head---------------------------------------------
const int inf=0x3f3f3f3f;
const int N=1000005,M=100005,mod=1e9+7;
template<class T,class S> inline void ch(T &x,const S y){x=(x+y)%mod;}
inline int exp(int x,int y,const int mod=::mod){
int ans=1;
while(y){
if(y&1) ans=(ll)ans*x%mod;
x=(ll)x*x%mod;y>>=1;
}return ans;
}
int n,dp[N],mx[N],last[256];
char s1[N],s2[N],res[N];
int main(){
#ifdef rqgao2014
freopen("input.txt","r",stdin);
#endif
scanf("%d",&n);
scanf("%s%s",s1+1,s2+1);
if(strcmp(s1+1,s2+1)==0){puts("0");return 0;}
for(int i=n,j=n;i;i--){
gmin(j,i);
while(j&&s1[j]!=s2[i]) j--;
if(!j){puts("-1");return 0;}
gmax(mx[j],i);
}
int ans=0,last=0;
for(int i=n;i;i--){
if(!mx[i]) continue;
// dprintf("%d %d\n",i,mx[i]);
if(last){
if(mx[i]>mx[last]){puts("-1");return 0;}
if(mx[i]>=last) dp[i]=dp[last];
// for(int j=mx[i]+1;j<=mx[last];j++)
// res[j]=s1[last];
}
last=i;
dp[i]++;gmax(ans,dp[i]);
}
for(int i=1;i<=mx[1];i++) res[i]=s1[1];
// for(int i=1;i<=n;i++) putchar(res[i]);puts("");
// printf("%s\n",res+1);
// for(int i=1;i<=n;i++)
// if(s2[i]!=res[i]){puts("-1");return 0;}
printf("%d\n",ans);
return 0;
}
Submission Info
Submission Time
2017-11-16 19:35:16+0900
Task
F - Shik and Copying String
User
rqgao2014
Language
C++14 (GCC 5.4.1)
Score
0
Code Size
3524 Byte
Status
WA
Exec Time
21 ms
Memory
10112 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:86:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.cpp:87:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%s%s",s1+1,s2+1);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
0 / 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
1 ms
256 KB
001.txt
AC
1 ms
256 KB
002.txt
AC
2 ms
2304 KB
003.txt
AC
2 ms
2304 KB
004.txt
AC
2 ms
4352 KB
005.txt
AC
2 ms
4352 KB
006.txt
AC
2 ms
4352 KB
007.txt
AC
2 ms
2304 KB
008.txt
AC
2 ms
4352 KB
009.txt
AC
2 ms
2304 KB
010.txt
WA
2 ms
4352 KB
011.txt
WA
2 ms
4352 KB
012.txt
WA
2 ms
4352 KB
013.txt
WA
2 ms
4352 KB
014.txt
WA
2 ms
4352 KB
015.txt
WA
2 ms
4352 KB
016.txt
WA
2 ms
4352 KB
017.txt
WA
2 ms
4352 KB
018.txt
WA
2 ms
4352 KB
019.txt
WA
2 ms
4352 KB
020.txt
WA
2 ms
4352 KB
021.txt
WA
2 ms
4352 KB
022.txt
WA
2 ms
4352 KB
023.txt
WA
2 ms
4352 KB
024.txt
WA
2 ms
4352 KB
025.txt
AC
7 ms
3328 KB
026.txt
AC
12 ms
9984 KB
027.txt
AC
12 ms
9984 KB
028.txt
WA
21 ms
9984 KB
029.txt
WA
21 ms
9984 KB
030.txt
WA
13 ms
9984 KB
031.txt
WA
14 ms
9984 KB
032.txt
WA
15 ms
9984 KB
033.txt
WA
16 ms
10112 KB
034.txt
WA
16 ms
9984 KB
035.txt
WA
15 ms
9984 KB
036.txt
WA
15 ms
9984 KB
037.txt
WA
14 ms
9984 KB
038.txt
WA
14 ms
9984 KB
039.txt
WA
14 ms
9984 KB
040.txt
AC
19 ms
9984 KB
041.txt
AC
16 ms
9984 KB
042.txt
AC
13 ms
9984 KB
043.txt
AC
13 ms
9984 KB
044.txt
AC
12 ms
9984 KB
045.txt
AC
12 ms
9984 KB
046.txt
AC
12 ms
9984 KB
047.txt
AC
12 ms
9984 KB
048.txt
AC
12 ms
9984 KB
049.txt
AC
12 ms
9984 KB
050.txt
AC
10 ms
7424 KB
051.txt
AC
10 ms
7424 KB
052.txt
AC
8 ms
5376 KB
053.txt
AC
16 ms
9984 KB
054.txt
AC
16 ms
9984 KB
055.txt
AC
16 ms
9984 KB
056.txt
AC
16 ms
9856 KB
057.txt
AC
16 ms
9856 KB
058.txt
AC
16 ms
9984 KB
example0.txt
AC
2 ms
4352 KB
example1.txt
AC
1 ms
256 KB
example2.txt
AC
2 ms
4352 KB
example3.txt
AC
2 ms
2304 KB