백준/그리디

[백준 1781 / C++] 컵라면

배발자 2022. 1. 17.
반응형

 

 

[백준 2109번 / C++] 순회강연

처음에 이 문제를 접근할 때 이런식으로 접근 하였다. #include #include #include using namespace std; int check[10001]; int sum; bool cmp(pair p1, pair p2) { return p1.first > p2.first; } int main() {..

baebalja.tistory.com


이 문제는 위의 문제와 완전 동일하다고 볼 수 있다. 이 문제를 풀기 위해서 위의 문제를 먼저 풀어보고 해설을 읽고나서 풀어보길 추천한다. 

해당 문제에서 데드라인과 컵라면의 수는 위의 문제의 d와 강의료

#include <iostream>
#include <queue>
#include <algorithm>
#include <vector>
using namespace std; 
int main() {
	int n; cin >> n; 
	vector <pair <int, int>> v; 
	priority_queue<int, vector<int>, greater<int>>q; 
	for (int i = 0; i < n; i++) {
		int a, b; cin >> a >> b; 
		v.push_back({ a,b }); 
	}
	sort(v.begin(), v.end()); 
	for (int i = 0; i < n; i++) {
		q.push(v[i].second); 
		if (v[i].first < q.size())q.pop(); 
	}
	int sum = 0; 
	while (!q.empty()) {
		sum += q.top(); 
		q.pop(); 
	}
	cout << sum; 
}
 

1781번: 컵라면

상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라

www.acmicpc.net

 

반응형

댓글