PS/그리디 알고리즘[Greedy]

백준 1781 컵라면(c++)

SeungbeomKim 2022. 7. 21. 22:28
반응형

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

 

1781번: 컵라면

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

www.acmicpc.net

<코드>

#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <tuple>
#include <queue>
using namespace std;

int main()
{
	int n;
	cin>>n;
	vector<pair<int,int>>v;
	priority_queue<int,vector<int>,greater<int>>pq;
	for(int i=0;i<n;i++)
	{
		int a,b;
		cin>>a>>b;
		v.push_back(make_pair(a,b));
	}
	sort(v.begin(),v.end());
	long long sum = 0;

	for(int i=0;i<n;i++)
	{
		 if(pq.size()<v[i].first)
		 {
		 	pq.push(v[i].second);
		 }
		 else
		 {
		 	if(pq.top()<v[i].second)
		 	{
		 		pq.pop();
				pq.push(v[i].second);	
			}
		 }
		 
	}
	while(!pq.empty())
		 {
		 	sum += pq.top();
		 	pq.pop();
		 }
	cout<<sum<<'\n';
	
}

 

반응형

'PS > 그리디 알고리즘[Greedy]' 카테고리의 다른 글

백준 2170 선 긋기(c++)  (0) 2022.08.06
백준 1339 단어 수학(c++)  (0) 2022.07.22
백준 1049 기타줄(c++)  (0) 2022.07.21
1049 기타줄(c++)  (0) 2022.07.21
1202 보석 도둑(c++)  (0) 2022.07.20