結果
| 問題 |
No.3014 岩井満足性問題
|
| コンテスト | |
| ユーザー |
uuuus17
|
| 提出日時 | 2025-01-25 15:32:23 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 2,582 bytes |
| コンパイル時間 | 391 ms |
| コンパイル使用メモリ | 82,356 KB |
| 実行使用メモリ | 259,468 KB |
| 最終ジャッジ日時 | 2025-01-25 23:46:40 |
| 合計ジャッジ時間 | 9,617 ms |
|
ジャッジサーバーID (参考情報) |
judge12 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 MLE * 2 |
ソースコード
import sys
input = lambda: sys.stdin.readline().rstrip()
# # sys.setrecursionlimit(10**7)
# # sys.set_int_max_str_digits(10**6)
# # import pypyjit
# # pypyjit.set_param('max_unroll_recursion=-1')
def mp():return map(int,input().split())
def lmp():return list(map(int,input().split()))
# def lm1(LIST): return list(map(lambda x:x-1, LIST))
# def mps(A):return [tuple(map(int, input().split())) for _ in range(A)]
# def stoi(LIST):return list(map(int,LIST))
# def itos(LIST):return list(map(str,LIST))
# def atoi(LIST): return [ord(i)-ord("a") for i in LIST]
# def Atoi(LIST): return [ord(i)-ord("A") for i in LIST]
# def LT(LIST,N): return LIST[bisect.bisect_left(LIST,N)-1]
# def LE(LIST,N): return LIST[bisect.bisect_right(LIST,N)-1]
# def GT(LIST,N): return LIST[bisect.bisect_right(LIST,N)]
# def GE(LIST,N): return LIST[bisect.bisect_left(LIST,N)]
# def bitA(X,A):return X & 1<<A == 1<<A
# def gtoi(x,y,h,w):return x*w+y
# import math
# import bisect
# import heapq
# import time
# import random as rd
# import itertools
from copy import copy as cc
from copy import deepcopy as dc
# from itertools import accumulate, product
# from collections import Counter, defaultdict, deque
# # from atcoder.dsu import DSU
# # from atcoder.fenwicktree import FenwickTree
# # from atcoder.segtree import SegTree # (op, ide_ele, LIST)
# # from atcoder.lazysegtree import LazySegTree # (op, ide_ele, mapping, composition, _id, lst)
# def ceil(U,V):return (U+V-1)//V
# def modf1(N,MOD):return (N-1)%MOD+1
# def pmat(list):
# for i in list:print(*i)
# m4 = [[1,0],[0,1],[-1,0],[0,-1]]
# m8 = [[-1,-1],[-1,0],[-1,1],[0,-1],[0,1],[1,-1],[1,0],[1,1]]
inf = (1<<63)-1
mod = 998244353
n,d,K = mp()
a = lmp()
c = lmp()
dp = [[-inf]*(K+1) for i in range(d+1)]
dp[0][0] = 0
for i in range(n):
nxt = [[-inf]*(K+1) for _ in range(d+1)]
for j in range(d+1):
for k in range(K+1):
nxt[j][k] = dp[j][k]
for j in range(d):
for k in range(K+1):
if dp[j][k] == -inf:continue
nxt[j+1][min(K,k+c[i])] = max(nxt[j+1][min(K,k+c[i])], dp[j][k]+a[i])
dp = nxt
ans = dp[d][K]
if ans ==-inf:
print("No")
else:
print(ans)
#
# s = input()
# if len(s) < 3:
# print(0)
# exit()
# ind = -1
# for i in range(len(s)-2):
# if s[i] == "1" and s[i+1] == "1" and s[i+2] == "0":
# ind = i
# break
# if ind == -1:
# print(0)
# exit()
# co = 0
# ans = 0
# for i in range(ind,len(s)):
# if s[i] == "1":co += 1
# if s[i] == "0":
# ans += ceil((co-1),2)
# if co % 2 == 1:co-=1
# print(ans)
#
uuuus17