GitHubSeob

C++ / 백준 / 11508 / 2+1 세일 본문

Baekjoon/Silver

C++ / 백준 / 11508 / 2+1 세일

GitHubSeob 2023. 7. 5.
문제

 

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

 

11508번: 2+1 세일

KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두

www.acmicpc.net

문제풀이

 

3개씩 묶을 때 가장 싼 유제품이 무료가 된다.

비싼 물품이 무료가 되야 구매 비용이 싸진다.

가장 비싼 물품은 어떻게 묶든 절대로 무료로 살 수 없다.

따라서 내림차순으로 정렬을 하고 3개씩 묶고, 각 3번째 물품은 무료로 사면 된다.

 

코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

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

	int N(0), idx(0), answer(0);

	cin >> N;
	vector<int>cost(N, 0);

	for (idx = 0; idx < N; ++idx) {
		cin >> cost[idx];
	}
	sort(cost.begin(), cost.end(), greater<int>());

	for (idx = 0; idx < N; ++idx) {
		if ((idx + 1) % 3 != 0) {
			answer += cost[idx];
		}
	}
	cout << answer;
}

 

'Baekjoon > Silver' 카테고리의 다른 글

C++ / 백준 / 1541 / 잃어버린 괄호  (0) 2023.07.05
C++ / 백준 / 20300 / 서강근육맨  (0) 2023.07.05
C++ / 백준 / 1758 / 알바생 강호  (0) 2023.07.04
C++ / 백준 / 13305 / 주유소  (0) 2023.07.04
C++ / 백준 / 2217 / 로프  (2) 2023.07.04