본문 바로가기
코드포스 - Codeforces

Educational Codeforces Round 130 (Div. 2)) A. Parkway Walk

by 청원뿔세포 2022. 6. 13.

[문제설명]

공원에서 길을 걷는데 n+1개의 벤치가 있고 m단위 만큼의 에너지가 있다.

1m 걷는데 1단위의 에너지를 잃는다.

각 벤치 사이 거리가 정수로 n개만큼 주어진다.

벤치에서는 휴식을 취할 수 있다. 휴식을 취하면 원하는 에너지만큼 회복할 수 있다.

 

처음에 테이스 케이스가 주어진다. 테스트 케이스의 첫번째 줄은 벤치 사이의 거리가 몇개나 있는지(n+1 = 벤치 수), 출발 시 가지고 있는 에너지량(m)을 입력받는다. 테스트 케이스의 두번째 줄은 벤치 사이의 거리를 입력받는다.

각 테스트 케이스의 회복해야할 에너지의 최소량을 출력해야 한다.

 

문제를 해결하기 위해서 가장 끝 벤치까지 가는데 필요한 총에너지에서 현재 가지고 있는 에너지를 빼주면 된다. 첫번째 벤치에서 미리 에너지를 모두 모은다음에 출발한다는 느낌으로 생각하면 쉽다.

# 테스트 케이스
t = int(input())
for _ in range(t):
    n, m = map(int, input().split())
    a = list(map(int, input().split()))
    
	# 출발지점에서 미리 회복할 에너지를 계산한다
    energy = sum(a) - m
    
    # 회복할 필요가 없으면 0을 출력한다
    if energy <=0:
        energy = 0
    print(energy)

 

 

 

댓글