結果
問題 | 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;}