※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 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 |