[Bronze II] 이동하기 3 - 18795
성능 요약
메모리: 113804 KB, 시간: 368 ms
분류
수학, 사칙연산
제출 일자
2026년 04월 25일 22:04:59
문제 설명
준규는 (N+1)×(M+1) 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있다. 미로의 가장 왼쪽 윗 방은 (0, 0)이고, 가장 오른쪽 아랫 방은 (N, M)이다.
준규는 현재 (0, 0)에 있고, (N, M)으로 이동하려고 한다. 준규가 (r, c)에 있으면, 문을 통해서 (r+1, c), (r, c+1)로 이동할 수 있다. 또, 미로 밖으로 나갈 수는 없다.
이번에는 문틈 사이에 쓰레기가 놓여 있다. 그래서 (r, c) 에서 (r+1, c)로 움직이거나, (r, c) 에서 (r, c+1)로 움직일 때 문틈에 놓여져있는 쓰레기를 모두 가져가야 한다. (r, c) 에서 (r+1, c) 로 움직일 때는 Ar, (r, c+1) 로 움직일 때는 Bc 개의 쓰레기를 가져가야 한다.
준규가 (N, M)으로 이동할 때, 가져와야 하는 쓰레기의 최솟값을 구하시오.
입력
첫째 줄에 미로의 크기 N, M이 주어진다. (1 ≤ N, M ≤ 500,000)
다음 줄에 N개의 정수 Ai가 주어진다. (1 ≤ Ai ≤ 109)
다음 줄에 M개의 정수 Bi가 주어진다. (1 ≤ Bi ≤ 109)
출력
첫째 줄에 준규가 (N, M)으로 이동할 때, 가져와야 하는 쓰레기의 양을 출력한다.
💡 해결 방법
💻 코드
'''
문제
준규는 (N+1)×(M+1) 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있다. 미로의 가장 왼쪽 윗 방은 (0, 0)이고, 가장 오른쪽 아랫 방은 (N, M)이다.
준규는 현재 (0, 0)에 있고, (N, M)으로 이동하려고 한다. 준규가 (r, c)에 있으면, 문을 통해서 (r+1, c), (r, c+1)로 이동할 수 있다. 또, 미로 밖으로 나갈 수는 없다.
이번에는 문틈 사이에 쓰레기가 놓여 있다. 그래서 (r, c) 에서 (r+1, c)로 움직이거나, (r, c) 에서 (r, c+1)로 움직일 때 문틈에 놓여져있는 쓰레기를 모두 가져가야 한다. (r, c) 에서 (r+1, c) 로 움직일 때는 Ar, (r, c+1) 로 움직일 때는 Bc 개의 쓰레기를 가져가야 한다.
준규가 (N, M)으로 이동할 때, 가져와야 하는 쓰레기의 최솟값을 구하시오.
입력
첫째 줄에 미로의 크기 N, M이 주어진다. (1 ≤ N, M ≤ 500,000)
다음 줄에 N개의 정수 Ai가 주어진다. (1 ≤ Ai ≤ 109)
다음 줄에 M개의 정수 Bi가 주어진다. (1 ≤ Bi ≤ 109)
출력
첫째 줄에 준규가 (N, M)으로 이동할 때, 가져와야 하는 쓰레기의 양을 출력한다.
예제 입력 1
3 4
60 20 90
10 90 80 70
예제 출력 1
420
예제 입력 2
1 1
1
1
예제 출력 2
2
예제 입력 3
2 2
1000000000 1000000000
1000000000 1000000000
예제 출력 3
4000000000
'''
ans = 0
x = input()
numbers = list(map(int, input().split()))
for i in numbers:
ans += i
numbers = list(map(int, input().split()))
for i in numbers:
ans += i
print(ans, end ='')