Submission #1311217

#TimeUsernameProblemLanguageResultExecution timeMemory
1311217eyangchFeast (NOI19_feast)Pypy 3
100 / 100
574 ms106284 KiB
import sys input = sys.stdin.readline N, K = map(int, input().split()) A = list(map(int, input().split())) dp = [[0] * 2 for _ in range(2)] def solve_opt(lambd): dp[0][0] = (0, 0) dp[0][1] = (A[0] - lambd, -1) for i in range(1, N): dp[1][0] = max(dp[0][0], dp[0][1]) opt1 = (dp[0][0][0] - lambd, dp[0][0][1] - 1) opt = max(opt1, dp[0][1]) dp[0][1] = (opt[0] + A[i], opt[1]) dp[0][0] = dp[1][0] return max(dp[0][0], dp[0][1]) lo = 0 hi = int(3e14) while lo < hi: mid = (lo + hi) // 2 res = solve_opt(mid) used = -res[1] if used > K: lo = mid+1 else: hi = mid res = solve_opt(lo) print(res[0] + K * lo)

Compilation message (stdout)

Compiling 'feast.py'...

=======
  adding: __main__.pyc (deflated 38%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...