30分求助!!!awa
查看原帖
30分求助!!!awa
1380784
icy2604625282楼主2024/7/16 17:12
#include <bits/stdc++.h>
using namespace std;
set <int> f;
int a,hash[1000005],w,c;
unsigned long long wsum,csum;
int main()
{
	do
	{
		cin >> a;
		switch(a)
		{
			case 1:
				cin >> w >> c; 
				hash[c] = w;
				f.insert(c);
				wsum += w;
				csum += c;
				break;
			case 2:
		    	if (!f.empty())
				{
					int t = *f.rbegin();
					wsum -= hash[t];
					csum -= t;
					hash[t] = 0;
		        	f.erase(--f.end());
		    	}
		    	break;
		    case 3:
		    	if (!f.empty())
				{
					int t = *f.begin();
					wsum -= hash[t];
					csum -= t;
					hash[t] = 0;
		        	f.erase(f.begin());
		    	}
		    	break;
		}
	}while(a != -1);
	cout << wsum << ' ' << csum;
	return 0;
}
 ```  ```
2024/7/16 17:12
加载中...