結果
問題 |
No.2386 Udon Coupon (Easy)
|
ユーザー |
![]() |
提出日時 | 2023-07-21 21:32:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 66 ms / 2,000 ms |
コード長 | 844 bytes |
コンパイル時間 | 164 ms |
コンパイル使用メモリ | 82,072 KB |
実行使用メモリ | 66,688 KB |
最終ジャッジ日時 | 2024-09-21 22:49:46 |
合計ジャッジ時間 | 3,532 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
# import pypyjit;pypyjit.set_param("max_unroll_recursion=-1") # from bisect import * # from collections import * # from heapq import * # from itertools import * # from math import * # from datetime import * # from decimal import * # PyPyだと遅い # from string import ascii_lowercase,ascii_uppercase # import numpy as np import sys # sys.setrecursionlimit(10**6) # PyPyだと遅い INF = 10**18 MOD = 998244353 # MOD = 10**9 + 7 File = sys.stdin def input(): return File.readline()[:-1] # /////////////////////////////////////////////////////////////////////////// N = int(input()) A, B, C = map(int, input().split()) dp = [-1] * (N + 1) dp[0] = 0 l = [(3, A), (5, B), (10, C)] for i in range(1, N + 1): for j, k in l: if i - j >= 0 and dp[i - j] != -1: dp[i] = max(dp[i], dp[i - j] + k) print(max(dp))