POJ3627Bookshelf

2017/12/05

問題文
http://poj.org/problem?id=3627

謎問
priority_queueつかうだけ。
sortしたら間に合わないとか言うやつなのかな?

#include <cstdio>
#include <queue>
using namespace std;

int n,s,b,ans;

int main(){
	scanf("%d%d",&n,&b);
	priority_queue<int> que;
	for(int i = 0;i < n;i++){
		int a;
		scanf("%d",&a);
		que.push(a);
	}
	int sum = 0;
	while(que.size()){
		ans++;
		sum += que.top(); que.pop();
		if(sum >= b)break;
	}
	printf("%d
",ans);
	return 0;
}