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

 

이번에 볼 문제는 백준 28062번 문제인 준석이의 사탕 사기이다.
문제는 아래 링크를 확인하자.

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

 

28062번: 준석이의 사탕 사기

준석이는 두 동생을 위해 사탕 가게에서 사탕을 최대한 많이 사 가려고 한다. 사탕 가게에는 $N$개의 사탕 묶음이 있으며 $i$번째 사탕 묶음에는 $a_i$개의 사탕이 있다. 준석이는 정말 부자라 사탕

www.acmicpc.net

가게에 있는 사탕 개수의 총합이 짝수개이면 모든 사탕을 구입하는 것이 최선임은 자명하다.

 

그렇지 않다면 사탕 개수가 홀수인 사탕 묶음이 적어도 하나 이상 존재한다. 그 중 가장 개수가 적은 묶음 하나를 제외한 모든 사탕을 구입하는 것이 최선의 방법이 된다.

 

위 내용을 구현한 코드를 작성해 문제를 해결하자.

 

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

#include <iostream>
using namespace std;

int N;
int ans, oddmin = 1000000007;

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

	cin >> N;
	while (N--) {
		int x; cin >> x;
		ans += x;
		if (x & 1) oddmin = min(oddmin, x);
	}

	if (ans & 1) cout << ans - oddmin;
	else cout << ans;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 28064 // C++] 이민희진  (2) 2023.11.26
[BOJ 28063 // C++] 동전 복사  (2) 2023.11.25
[BOJ 28061 // C++] 레몬 따기  (0) 2023.11.23
[BOJ 28281 // C++] 선물  (0) 2023.11.22
[BOJ 28282 // C++] 운명  (1) 2023.11.21

+ Recent posts