万紫没红,0分求条
查看原帖
万紫没红,0分求条
1085701
zzgj1235楼主2024/9/2 21:31
#include<bits/stdc++.h>
using namespace std;
struct str{
    int l;
    int f;
    int t;
}a[100005];
vector<int> vt,vf;
int main(){
    int n,q=0,w=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].l>>a[i].f>>a[i].t;
    }
    for(int i=1;i<=n;i++){
    	if(a[i].l==0){
            q+=a[i].f;
            w++;
            vt[w]=a[i].t;
            vf[w]=a[i].f;
        }else{
        	bool b=false;
        	for(int j=w-min(w,45);j<=w;j++){
        		if(a[i].f<vf[j]&&a[i].t-vt[j]<=45){
        			for(int k=j;k<w;k++){
        				vt[k]=vt[k+1];
        				vf[k]=vf[k+1];
					}
					b=true;
					w--;
					break;
				}
			}
			if(b==false){
				q+=a[i].f;
			}
		}
	}
    cout<<q;
    return 0;
}
2024/9/2 21:31
加载中...