結果
問題 |
No.2386 Udon Coupon (Easy)
|
ユーザー |
|
提出日時 | 2023-08-04 01:17:42 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,148 bytes |
コンパイル時間 | 490 ms |
コンパイル使用メモリ | 32,768 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-13 22:22:46 |
合計ジャッジ時間 | 1,922 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
#include<assert.h> #include<complex.h> #include<ctype.h> #include<errno.h> #include<fenv.h> #include<float.h> #include<inttypes.h> #include<iso646.h> #include<limits.h> #include<locale.h> #include<math.h> #include<setjmp.h> #include<signal.h> #include<stdalign.h> #include<stdarg.h> #include<stdatomic.h> #include<stdbool.h> #include<stddef.h> #include<stdint.h> #include<stdio.h> #include<stdlib.h> #include<stdnoreturn.h> #include<string.h> #include<tgmath.h> #include<time.h> #include<wchar.h> #include<wctype.h> int max(int a, int b) { return (a > b) ? a : b; } int main() { int n; scanf("%d", &n); int a, b, c; scanf("%d %d %d", &a, &b, &c); int dp[n + 1]; for (int i = 0; i <= n; i++) { dp[i] = 0; } for (int i = 0; i <= n; i++) { if (i >= 1) { dp[i] = max(dp[i], dp[i - 1]); } if (i >= 3) { dp[i] = max(dp[i], dp[i - 3] + a); } if (i >= 5) { dp[i] = max(dp[i], dp[i - 5] + b); } if (i >= 10) { dp[i] = max(dp[i], dp[i - 10] + c); } } printf("%d\n", dp[n]); return 0; }