※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 28061번 문제인 레몬 따기이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/28061 

 

28061번: 레몬 따기

성우는 숲에서 레몬을 따와야 한다. 숲은 하나의 수직선으로 표현할 수 있고, 여기에는 레몬 나무 \(N\)그루가 \(x=1\)부터 \(x=N\)까지 일정한 간격으로 자라 있다. 성우는 현재 \(x=0\)에 있으며, 집은

www.acmicpc.net

x=i에 위치한 레몬나무에서 레몬을 딸 경우 집까지 2번 행동(이동)을 N-i+1회 하므로 집에 들고 가게 되는 레몬의 개수는 \(max(a_i-(N-i+1),0)\)과 같게 된다.

 

각 레몬나무마다 위의 값을 계산해 그 중 가장 큰 값을 구하는 것으로 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int N, ans;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> N;
	for (int i = 1; i <= N; i++) {
		int x; cin >> x;
		ans = max(ans, x - (N - i + 1));
	}

	cout << ans;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 28063 // C++] 동전 복사  (2) 2023.11.25
[BOJ 28062 // C++] 준석이의 사탕 사기  (1) 2023.11.24
[BOJ 28281 // C++] 선물  (0) 2023.11.22
[BOJ 28282 // C++] 운명  (1) 2023.11.21
[BOJ 28283 // C++] 해킹  (1) 2023.11.20

+ Recent posts