Submission #30765936
Source Code Expand
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int Mt=1e5,N=2.5e3+10,base=23333,inf=1e18;
int n,a,b,c,pw[N],hs[N],f[N][N];string s;
inline char getc(){
static char buf[Mt],*p1=buf,*p2=buf;
return p1==p2&&(p2=(p1=buf)+fread(buf,1,Mt,stdin),p1==p2)?EOF:*p1++;
}
inline int read(){
int r=0,f=1;char c=getc();
while(c<'0'||c>'9'){if(c=='-')f=-1;c=getc();}
while(c<='9'&&c>='0') r=(r<<1)+(r<<3)+(c^48),c=getc();
return r*f;
}
inline string sread(){
string s="";char c=getc();
while(c<'a'||c>'z') c=getc();
while(c<='z'&&c>='a') s+=c,c=getc();
return s;
}
void put(int x){
if(x<0){putchar('-');x=~x+1;}
if(x>9) put(x/10);
putchar(x%10+'0');
}
int min(int x,int y){return x<y?x:y;}
void chkmn(int &x,int y){x=min(x,y);}
signed main(){
// freopen("cpp.in","r",stdin);
// freopen("cpp.out","w",stdout);
n=read(),s=sread(),a=read(),b=read(),c=read(),pw[0]=1;
for(int i=1;i<=n;i++) hs[i]=hs[i-1]*base+(s[i-1]-'a'+1),pw[i]=pw[i-1]*base;
for(int i=1;i<=n;i++) for(int j=i;j<=n;j++) f[i][j]=inf;
for(int i=1;i<=n;i++) f[i][i]=a;
for(int len=1;len<=n;len++) for(int l=1,r,hs1;l+len-1<=n;l++){
r=l+len-1,hs1=hs[r]-hs[l-1]*pw[len],chkmn(f[l][r],f[l+1][r]+a),chkmn(f[l][r],f[l][r-1]+a);
int cnt=1;
for(int nl=r+1,nr,hs2;nl+len-1<=n;nl++){
nr=nl+len-1,hs2=hs[nr]-hs[nl-1]*pw[len];
if(hs1==hs2)chkmn(f[l][nr],f[l][r]+(nl-l-len*cnt)*a+b+(cnt+1)*c),cnt++,nl=nr;
}
}
return put(f[1][n]),puts(""),0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - コピー & ペースト 3 (Copy and Paste 3) |
| User | Zyh_277 |
| Language | C++ (GCC 9.2.1) |
| Score | 100 |
| Code Size | 1600 Byte |
| Status | AC |
| Exec Time | 1179 ms |
| Memory | 37072 KiB |
Compile Error
./Main.cpp: In function ‘void put(long long unsigned int)’:
./Main.cpp:23:9: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
23 | if(x<0){putchar('-');x=~x+1;}
| ~^~
Judge Result
| Set Name | Subtask 1 | Subtask 2 | Subtask 3 | Subtask 4 | Subtask 5 | Subtask 6 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 7 / 7 | 18 / 18 | 18 / 18 | 11 / 11 | 22 / 22 | 24 / 24 | ||||||||||||
| Status |
|
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| Subtask 1 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 23-03.txt, 23-08.txt |
| Subtask 2 | sample-02.txt, 01-08.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 06-02.txt, 23-01.txt, 23-02.txt, 23-03.txt, 23-04.txt, 23-05.txt, 23-06.txt, 23-07.txt, 23-08.txt |
| Subtask 3 | sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 23-01.txt, 23-02.txt, 23-03.txt, 23-04.txt, 23-05.txt, 23-06.txt, 23-07.txt, 23-08.txt |
| Subtask 4 | sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 23-01.txt, 23-02.txt, 23-03.txt, 23-04.txt, 23-05.txt, 23-06.txt, 23-07.txt, 23-08.txt |
| Subtask 5 | sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 05-09.txt, 05-10.txt, 05-11.txt, 05-12.txt, 05-13.txt, 05-14.txt, 23-01.txt, 23-02.txt, 23-03.txt, 23-04.txt, 23-05.txt, 23-06.txt, 23-07.txt, 23-08.txt |
| Subtask 6 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 05-09.txt, 05-10.txt, 05-11.txt, 05-12.txt, 05-13.txt, 05-14.txt, 06-01.txt, 06-02.txt, 06-03.txt, 06-04.txt, 06-05.txt, 06-06.txt, 06-07.txt, 06-08.txt, 06-09.txt, 06-10.txt, 06-11.txt, 06-12.txt, 06-13.txt, 06-14.txt, 23-01.txt, 23-02.txt, 23-03.txt, 23-04.txt, 23-05.txt, 23-06.txt, 23-07.txt, 23-08.txt, sample-01.txt, sample-02.txt, sample-03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-01.txt | AC | 7 ms | 3596 KiB |
| 01-02.txt | AC | 2 ms | 3596 KiB |
| 01-03.txt | AC | 1 ms | 3556 KiB |
| 01-04.txt | AC | 2 ms | 3600 KiB |
| 01-05.txt | AC | 2 ms | 3604 KiB |
| 01-06.txt | AC | 2 ms | 3580 KiB |
| 01-07.txt | AC | 2 ms | 3556 KiB |
| 01-08.txt | AC | 2 ms | 3560 KiB |
| 02-01.txt | AC | 79 ms | 23964 KiB |
| 02-02.txt | AC | 89 ms | 26660 KiB |
| 02-03.txt | AC | 104 ms | 29960 KiB |
| 02-04.txt | AC | 129 ms | 33340 KiB |
| 02-05.txt | AC | 157 ms | 36996 KiB |
| 02-06.txt | AC | 165 ms | 37064 KiB |
| 03-01.txt | AC | 2 ms | 3612 KiB |
| 03-02.txt | AC | 2 ms | 3688 KiB |
| 03-03.txt | AC | 2 ms | 3664 KiB |
| 03-04.txt | AC | 2 ms | 3608 KiB |
| 03-05.txt | AC | 2 ms | 3412 KiB |
| 03-06.txt | AC | 2 ms | 3512 KiB |
| 03-07.txt | AC | 2 ms | 3548 KiB |
| 03-08.txt | AC | 2 ms | 3716 KiB |
| 03-09.txt | AC | 2 ms | 3656 KiB |
| 03-10.txt | AC | 2 ms | 3548 KiB |
| 03-11.txt | AC | 3 ms | 3708 KiB |
| 03-12.txt | AC | 2 ms | 3544 KiB |
| 03-13.txt | AC | 2 ms | 3600 KiB |
| 03-14.txt | AC | 2 ms | 3600 KiB |
| 03-15.txt | AC | 2 ms | 3748 KiB |
| 03-16.txt | AC | 2 ms | 3532 KiB |
| 03-17.txt | AC | 3 ms | 3732 KiB |
| 03-18.txt | AC | 2 ms | 3680 KiB |
| 03-19.txt | AC | 2 ms | 3652 KiB |
| 03-20.txt | AC | 2 ms | 3580 KiB |
| 04-01.txt | AC | 1 ms | 3952 KiB |
| 04-02.txt | AC | 3 ms | 4580 KiB |
| 04-03.txt | AC | 5 ms | 4504 KiB |
| 04-04.txt | AC | 5 ms | 4556 KiB |
| 04-05.txt | AC | 7 ms | 4556 KiB |
| 04-06.txt | AC | 5 ms | 4396 KiB |
| 04-07.txt | AC | 5 ms | 4428 KiB |
| 04-08.txt | AC | 3 ms | 4560 KiB |
| 04-09.txt | AC | 5 ms | 4400 KiB |
| 04-10.txt | AC | 5 ms | 4556 KiB |
| 04-11.txt | AC | 4 ms | 4424 KiB |
| 04-12.txt | AC | 4 ms | 4516 KiB |
| 04-13.txt | AC | 7 ms | 4588 KiB |
| 04-14.txt | AC | 5 ms | 4540 KiB |
| 05-01.txt | AC | 15 ms | 6108 KiB |
| 05-02.txt | AC | 28 ms | 11512 KiB |
| 05-03.txt | AC | 92 ms | 11352 KiB |
| 05-04.txt | AC | 90 ms | 11452 KiB |
| 05-05.txt | AC | 92 ms | 11392 KiB |
| 05-06.txt | AC | 92 ms | 11460 KiB |
| 05-07.txt | AC | 95 ms | 11496 KiB |
| 05-08.txt | AC | 74 ms | 11456 KiB |
| 05-09.txt | AC | 29 ms | 11532 KiB |
| 05-10.txt | AC | 79 ms | 11484 KiB |
| 05-11.txt | AC | 76 ms | 11392 KiB |
| 05-12.txt | AC | 58 ms | 11460 KiB |
| 05-13.txt | AC | 56 ms | 11460 KiB |
| 05-14.txt | AC | 92 ms | 11456 KiB |
| 06-01.txt | AC | 315 ms | 19656 KiB |
| 06-02.txt | AC | 163 ms | 36936 KiB |
| 06-03.txt | AC | 1179 ms | 36892 KiB |
| 06-04.txt | AC | 1175 ms | 36944 KiB |
| 06-05.txt | AC | 1168 ms | 37068 KiB |
| 06-06.txt | AC | 1166 ms | 37072 KiB |
| 06-07.txt | AC | 1166 ms | 36932 KiB |
| 06-08.txt | AC | 365 ms | 36892 KiB |
| 06-09.txt | AC | 215 ms | 37036 KiB |
| 06-10.txt | AC | 951 ms | 37064 KiB |
| 06-11.txt | AC | 942 ms | 37048 KiB |
| 06-12.txt | AC | 677 ms | 37028 KiB |
| 06-13.txt | AC | 671 ms | 37060 KiB |
| 06-14.txt | AC | 1165 ms | 36956 KiB |
| 23-01.txt | AC | 3 ms | 3584 KiB |
| 23-02.txt | AC | 2 ms | 3560 KiB |
| 23-03.txt | AC | 2 ms | 3528 KiB |
| 23-04.txt | AC | 3 ms | 3536 KiB |
| 23-05.txt | AC | 2 ms | 3548 KiB |
| 23-06.txt | AC | 2 ms | 3572 KiB |
| 23-07.txt | AC | 3 ms | 3576 KiB |
| 23-08.txt | AC | 2 ms | 3620 KiB |
| sample-01.txt | AC | 2 ms | 3660 KiB |
| sample-02.txt | AC | 2 ms | 3664 KiB |
| sample-03.txt | AC | 2 ms | 3620 KiB |