結果
問題 | No.2386 Udon Coupon (Easy) |
ユーザー | Alex Wice |
提出日時 | 2023-07-21 21:24:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 152 ms / 2,000 ms |
コード長 | 2,966 bytes |
コンパイル時間 | 166 ms |
コンパイル使用メモリ | 82,364 KB |
実行使用メモリ | 90,624 KB |
最終ジャッジ日時 | 2024-09-21 22:38:01 |
合計ジャッジ時間 | 7,096 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
#!/usr/bin/env python import os import sys from io import BytesIO, IOBase from collections import defaultdict as ddic, Counter from itertools import groupby, combinations from heapq import * from math import ceil, gcd, log from functools import lru_cache, cmp_to_key from decimal import Decimal import decimal decimal.getcontext().prec = 20 # MOD = 10**9 + 7 MOD = 998244353 from math import log2, pi, gcd def solve(): N = rint() A, B, C = rlist() # use 3, 5, 10 dp = [0] * (N + 1) for x in range(3, N + 1): if x >= 3: dp[x] = max(dp[x], dp[x - 3] + A) if x >= 5: dp[x] = max(dp[x], dp[x - 5] + B) if x >= 10: dp[x] = max(dp[x], dp[x - 10] + C) return dp[-1] def main(): T = 1 # T = rint() for tc in range(T): ans = solve() print(ans) # print("First" if ans else "Second") # print(*ans) # print("Yes" if ans else "No") # print("YES" if ans else "NO") # for row in ans: print(*row) # region fastio BUFSIZE = 8192 class FastIO(IOBase): newlines = 0 def __init__(self, file): self._file = file self._fd = file.fileno() self.buffer = BytesIO() self.writable = "x" in file.mode or "r" not in file.mode self.write = self.buffer.write if self.writable else None def read(self): while True: b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE)) if not b: break ptr = self.buffer.tell() self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr) self.newlines = 0 return self.buffer.read() def readline(self): while self.newlines == 0: b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE)) self.newlines = b.count(b"\n") + (not b) ptr = self.buffer.tell() self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr) self.newlines -= 1 return self.buffer.readline() def flush(self): if self.writable: os.write(self._fd, self.buffer.getvalue()) self.buffer.truncate(0), self.buffer.seek(0) class IOWrapper(IOBase): def __init__(self, file): self.buffer = FastIO(file) self.flush = self.buffer.flush self.writable = self.buffer.writable self.write = lambda s: self.buffer.write(s.encode("ascii")) self.read = lambda: self.buffer.read().decode("ascii") self.readline = lambda: self.buffer.readline().decode("ascii") sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout) input = lambda: sys.stdin.readline().rstrip("\r\n") rint = lambda: int(input()) def rlist(n=None): if n is None: return list(map(int, input().split())) return [list(map(int, input().split())) for _ in range(n)] # endregion if __name__ == "__main__": main()