Submission #64536876
Source Code Expand
#include<bits/stdc++.h>
#define il inline
#define ui unsigned int
#define ll long long
#define ull unsigned ll
#define lll __int128
#define db double
#define ldb long double
#define pii pair<int,int>
#define vi vector<int>
#define vpii vector<pii>
#define fir first
#define sec second
#define gc getchar
#define pc putchar
#define pb push_back
#define lb lower_bound
#define ub upper_bound
#define pct __builtin_popcount
#define mst(a,x) memset(a,x,sizeof a)
#define mcp(a,b) memcpy(a,b,sizeof b)
using namespace std;
const int N=810,INF=0x3f3f3f3f,MOD=998244353;
const ll INFll=0x3f3f3f3f3f3f3f3f;
il int rd() {int x=0,f=1; char ch=gc(); while(ch<'0'||ch>'9') {if(ch=='-') f=-1; ch=gc();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=gc(); return x*f;}
il ll rdll() {ll x=0; int f=1; char ch=gc(); while(ch<'0'||ch>'9') {if(ch=='-') f=-1; ch=gc();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=gc(); return x*f;}
il void wr(int x) {if(x==INT_MIN) return printf("-2147483648"),void(); if(x<0) return pc('-'),wr(-x); if(x<10) return pc(x+'0'),void(); wr(x/10),pc(x%10+'0');}
il void wrll(ll x) {if(x==LLONG_MIN) return printf("-9223372036854775808"),void(); if(x<0) return pc('-'),wrll(-x); if(x<10) return pc(x+'0'),void(); wrll(x/10),pc(x%10+'0');}
il void wr(int x,char *s) {wr(x),printf("%s",s);}
il void wrll(ll x,char *s) {wrll(x),printf("%s",s);}
il int vmod(int x) {return x>=MOD?x-MOD:x;}
il int vadd(int x,int y) {return vmod(x+y);}
il int vsub(int x,int y) {return vmod(x-y+MOD);}
il int vmul(int x,int y) {return 1ll*x*y%MOD;}
il int qpow(int x,int y) {int r=1; for(;y;y>>=1,x=vmul(x,x)) if(y&1) r=vmul(r,x); return r;}
il void cadd(int &x,int y) {x=vmod(x+y);}
il void csub(int &x,int y) {x=vmod(x-y+MOD);}
il void cmul(int &x,int y) {x=vmul(x,y);}
il void cmax(int &x,int y) {x<y&&(x=y);}
il void cmaxll(ll &x,ll y) {x<y&&(x=y);}
il void cmin(int &x,int y) {x>y&&(x=y);}
il void cminll(ll &x,ll y) {x>y&&(x=y);}
int n,c[N],x[N]; ll as=INFll,f[N][N];
void QwQ() {
n=rd(),mst(f,0x3f);
for(int i=1;i<=n;i++) c[i]=c[i+n]=rd();
for(int i=1;i<=n;i++) x[i]=rd();
n*=2;
for(int i=1;i<=n+1;i++) f[i][i-1]=0;
for(int i=1;i<=n;i++) f[i][i]=1+x[c[i]];
for(int t=2;t<=n;t++) for(int l=1,r=t;r<=n;l++,r++) {
if(c[l]==c[r]) {
f[l][r]=r-l+1+x[c[l]];
for(int i=l,ls=i;i<=r;i++) if(c[i]==c[l]) f[l][r]+=f[ls][i-1],ls=i+1;
}
for(int k=l;k<r;k++) cminll(f[l][r],f[l][k]+f[k+1][r]);
}
for(int i=1;i<=n/2+1;i++) cminll(as,f[i][i+n/2-1]);
wrll(as,"\n");
}
signed main() {
// freopen("in.in","r",stdin),freopen("out.out","w",stdout);
int T=1; while(T--) QwQ();
}
Submission Info
Submission Time
2025-04-05 21:48:34+0900
Task
F - Happy Birthday! 3
User
majiaqi
Language
C++ 20 (gcc 12.2)
Score
0
Code Size
2629 Byte
Status
WA
Exec Time
230 ms
Memory
8812 KiB
Compile Error
Main.cpp: In function ‘void QwQ()’:
Main.cpp:59:17: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
59 | wrll(as,"\n");
| ^~~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
0 / 550
Status
Set Name
Test Cases
Sample
sample00.txt, sample01.txt, sample02.txt
All
sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt
Case Name
Status
Exec Time
Memory
sample00.txt
AC
3 ms
8688 KiB
sample01.txt
AC
3 ms
8596 KiB
sample02.txt
AC
3 ms
8656 KiB
testcase00.txt
AC
113 ms
8612 KiB
testcase01.txt
AC
115 ms
8808 KiB
testcase02.txt
AC
115 ms
8588 KiB
testcase03.txt
AC
72 ms
8692 KiB
testcase04.txt
AC
71 ms
8616 KiB
testcase05.txt
AC
72 ms
8628 KiB
testcase06.txt
AC
110 ms
8688 KiB
testcase07.txt
AC
230 ms
8632 KiB
testcase08.txt
AC
65 ms
8608 KiB
testcase09.txt
AC
230 ms
8584 KiB
testcase10.txt
AC
54 ms
8688 KiB
testcase11.txt
AC
230 ms
8624 KiB
testcase12.txt
AC
6 ms
8776 KiB
testcase13.txt
AC
125 ms
8584 KiB
testcase14.txt
AC
29 ms
8696 KiB
testcase15.txt
AC
127 ms
8748 KiB
testcase16.txt
AC
56 ms
8812 KiB
testcase17.txt
AC
126 ms
8624 KiB
testcase18.txt
WA
7 ms
8668 KiB
testcase19.txt
WA
106 ms
8584 KiB
testcase20.txt
AC
5 ms
8652 KiB
testcase21.txt
WA
106 ms
8748 KiB
testcase22.txt
WA
59 ms
8608 KiB
testcase23.txt
WA
107 ms
8624 KiB
testcase24.txt
WA
18 ms
8616 KiB
testcase25.txt
WA
97 ms
8580 KiB
testcase26.txt
WA
26 ms
8692 KiB
testcase27.txt
WA
98 ms
8520 KiB
testcase28.txt
AC
6 ms
8604 KiB
testcase29.txt
WA
98 ms
8688 KiB
testcase30.txt
AC
4 ms
8752 KiB
testcase31.txt
AC
72 ms
8688 KiB
testcase32.txt
WA
31 ms
8808 KiB
testcase33.txt
AC
73 ms
8592 KiB
testcase34.txt
AC
3 ms
8620 KiB
testcase35.txt
AC
73 ms
8692 KiB
testcase36.txt
AC
16 ms
8584 KiB
testcase37.txt
AC
72 ms
8744 KiB
testcase38.txt
WA
29 ms
8624 KiB
testcase39.txt
AC
72 ms
8628 KiB
testcase40.txt
AC
13 ms
8588 KiB
testcase41.txt
AC
72 ms
8692 KiB