求助,为什么不对 0分
查看原帖
求助,为什么不对 0分
947930
xiaoxiongbinggan楼主2024/7/13 11:38
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
int n,mi;
char x;
int k;
struct qcl{
	int z,f;
}a[1000000];
int cnt=0;
int sum=0;
bool cmp(qcl a,qcl b){
	return a.z>b.z;
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>mi;
	for(int i=1;i<=n;i++){
		a[i].f=1;
	}
	int cntt=0;
	for(int i=1;i<=n;i++){
		cin>>x>>k;
		if(x=='I'){
			a[++cnt].z=k;
			cntt++;
		}else if(x=='A'){
			for(int j=1;j<=cntt;j++){
				if(a[j].f!=0){
					a[j].z+=k;
				}
			}
		}else if(x=='S'){
			for(int j=1;j<=cntt;j++){
				if(a[j].f!=0){
					a[j].z-=k;
					if(a[j].z<mi){
						a[j].f=0;
						sum++;
						cnt--;
					}
				}
			}
		}else{
			int g=0;
			if(k>cnt){
				cout<<-1<<endl;
				continue;
			}
			sort(a+1,a+1+cntt,cmp);
			for(int j=1;j<=cntt;j++){
				if(a[j].f!=0){
					g++;
				}
				if(g==k){
					cout<<a[j].z<<endl;
					g++;
					break;
				}
			}
		}
	}
	cout<<sum;
	return 0;
}
2024/7/13 11:38
加载中...