40分求助!
  • 板块P2073 送花
  • 楼主Terraria
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/3/8 13:55
  • 上次更新2023/11/5 02:18:36
查看原帖
40分求助!
289275
Terraria楼主2021/3/8 13:55

注意到了题目中的顺序,用了 set,但是只有40分:

#include<bits/stdc++.h>
using namespace std;
set<pair<long long,long long> > s;
long long ww=0,cc=0;
int main(){
	while(1){
		int op;
		cin>>op;
		if(op==-1) break;
		if(op==1){
			long long w,c;
			cin>>w>>c;
			s.insert(make_pair(c,w));
		}
		else if(op==3){
			if(s.empty()) continue;
			s.erase(s.begin());
		}
		else if(op==2){
			if(s.empty()) continue;
			s.erase(--s.end());
		}
	}
	set<pair<long long,long long> >::iterator it=s.begin();
	for(;it!=s.end();it++){
		cc+=it->first;
		ww+=it->second;
	}
	cout<<ww<<" "<<cc;
}
2021/3/8 13:55
加载中...