백준 23757

HR·2022년 4월 29일
0

알고리즘 문제풀이

목록 보기
28/50

백준 23757

  1. 우선순위 큐를 이용

정답 코드

#include <iostream>
#include <algorithm>
#include <queue>

using namespace std;

int main() {	
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	int n, m;
	int c[100001], w[100001];
	
	cin>>n>>m;
	priority_queue<int> pq;
	for(int i=0; i<n; i++) {
		int temp;
		cin>>temp;
		pq.push(temp);
	}
	for(int i=0; i<m; i++) {
		cin>>w[i];
	}
	

	int flag = 1;
	for(int i=0; i<m; i++) {
		if(pq.top() < w[i]) {
			flag=0;
			break;
		}
		else {
			pq.push(pq.top() - w[i]);
			pq.pop();
		}
	}
	
	cout<<flag<<'\n';	
	
	
    return 0;
}

0개의 댓글