妹子求助,这样两个写法有什么不一样?
查看原帖
妹子求助,这样两个写法有什么不一样?
453460
End1essSummer楼主2024/9/8 16:34

1 .(100pts)

priority_queue<int> q;
	int nowsum=0;
	for(int i=1;i<=n;i++){
		nowsum+=b[i].time1;
		q.push(b[i].time1);
		if(b[i].time2<nowsum){
			nowsum-=q.top();
			q.pop();
		}			
	}cout<<q.size();

2.(70pts)

priority_queue<int> q;
	int nowsum=0;
	for(int i=1;i<=n;i++){
        if(b[i].time2>=nowsum+b[i].time1){
			q.push(b[i].time1);
			nowsum+=b[i].time1;
		}else{
		    if(q.size()){
				int now=q.top();
		        if(b[i].time2>=nowsum-now+b[i].time1){
					q.pop();
					q.push(b[i].time1);
					nowsum=nowsum-now+b[i].time1;
				}		
			}	
		}
	}cout<<q.size();

其中 nowsumnowsum 指代目前建造所有队列 qq 里的建筑所花费的总时长

2024/9/8 16:34
加载中...