60分求助!!!
查看原帖
60分求助!!!
764672
ZJLmath楼主2022/12/27 09:50
#include<iostream>//全谷就我一个用priority_queue做的吗?qwq 
#include<queue>
using namespace std;
priority_queue<int> q;
int e[1000];
int main(){
	int V,n,now=0;
	cin>>V>>n;
	for(int i=0;i<n;++i){
		int x;
		cin>>x;
		if(x<V)q.push(x);
		if(x==V) {
			cout<<0;
			return 0;
		}
	}
	while(now<=V){
		if(q.empty())break;
		if(now==V){
			cout<<0;
			return 0;
		} 
		if(now+q.top()<=V){
			now+=q.top();
		}else{
			q.pop();
			break;
		} 
		q.pop();
	}
	int l=0;
	while(!q.empty()){
		e[++l]=q.top();
		q.pop();
	}
	for(int i=l;i>=1;i--){
		if(now==V){
			cout<<0;
			return 0;
		}
		if(e[i]+now<=V){
			now+=e[i];
		}
	}
	cout<<V-now;
}
2022/12/27 09:50
加载中...