AtCoder Beginner Contest #118
問題文
省略
省略
C++に変換後のコードはこちら
int N, M, A[9];
int m[10] = {0, 2, 5, 5, 4, 5, 6, 3, 7, 6};
int dp[10001];
char res[10001]; int ress;
{
int i, j, k;
rd(N,M,A(M));
sort(A, A+M);
rep(i,M) m[i] = m[A[i]];
rep(i,1,N+1) dp[i] = -int_inf;
rep(i,M) rep(k,m[i],N+1) dp[k] >?= dp[k-m[i]] + 1;
k = 0;
while(N){
for(i=M-1;i>=0;i--) if(N-m[i]>=0 && dp[N]==dp[N-m[i]]+1){
res[ress++] = '0' + A[i];
N -= m[i];
break;
}
}
wt(res);
}
Current time: 2024年04月19日23時45分29秒
Last modified: 2019年07月17日01時32分39秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC118 ABC_D
トップページに戻る
Logged in as: unknown user (not login)