알고리즘/소스코드

KOREATECH 1017: 돈을 줍자

cjw.git 2020. 12. 9. 11:59

Link : judge.koreatech.ac.kr/problem.php?id=1017


Python

더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from sys import stdin
 
testcase = int(stdin.readline().strip())
 
while testcase:
    length = int(stdin.readline().strip())
    if length >= 3:
        dp = [0* length
        arr = list(map(int, stdin.readline().strip().split(' ')))
        dp[0= arr[0]
        dp[1= sum(arr[0:2])
        dp[2= max((arr[0+ arr[1]), (arr[0+ arr[2]), (arr[1+ arr[2]))
        for idx in range(3len(arr)):
            dp[idx] = max(max((dp[idx - 3+ arr[idx] + arr[idx - 1]),(dp[idx - 2+ arr[idx])),dp[idx - 1])
 
        print(dp[-1])
    else:
        arr = list(map(int, stdin.readline().strip().split(' ')))
        print(sum(arr))
 
    testcase -= 1
cs

FeedBack

  1.  

 

 

 

cjw.git@gmail.com