제출 #1311605

#제출 시각아이디문제언어결과실행 시간메모리
1311605mtandonFeast (NOI19_feast)Pypy 3
100 / 100
363 ms106240 KiB
import sys input = sys.stdin.readline n, k = map(int, input().split()) A = list(map(int, input().split())) def opt(l): dp = [tuple()]*2 # old tuple, new tuple, storing max value, number arrays dp[0] = (0, 0) dp[1] = (A[0] - l, -1) for i in range(1, n): tmp0 = max(dp[0], dp[1]) tmp1 = max( (dp[0][0] - l + A[i], dp[0][1] - 1), (dp[1][0] + A[i], dp[1][1]) ) dp[0] = tmp0 dp[1] = tmp1 return max(dp) lo = 0 hi = int(3e14) while lo < hi: mid = (lo+hi)//2 res = opt(mid) ktemp = -res[1] if ktemp > k: lo = mid + 1 else: hi = mid res = opt(lo) print(res[0] + k*lo)

컴파일 시 표준 출력 (stdout) 메시지

Compiling 'feast.py'...

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

=======
#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...