队列WA
查看原帖
队列WA
1007419
xiao__楼主2023/8/14 11:31
#include<bits/stdc++.h>
#define int __int128
using namespace std;
inline int R(){int x=0;char ch=getchar();while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x;}
inline void W(int x){char num[300];int cnt=0;if(x==0){putchar('0');return;}while(x>0){num[cnt++]=x%10+'0';x/=10;}while(cnt>0){putchar(num[--cnt]);}}
#define R R()
#define for(i,x) for(int i=1;i<=x;i++)
#define qm q.front()
struct Node{
	int f,y,t;
}a[1005];
queue<Node> q;
signed main(){
	int n=R,ans=0;
	for(i,n){
		a[i].f=R;a[i].y=R;a[i].t=R;
		if(!a[i].f){
			ans+=a[i].y;
			q.push(a[i]);continue;
		}else{
			if(!q.size()){
				ans+=a[i].y;
				continue;
			} 
			bool flag=1;
			for(j,q.size()){
				if(flag){
					if(qm.t-a[i].t<=45&&qm.y>=a[i].y){
						q.pop();flag=0;
						continue;
					}	
				} 
				q.push(qm);
				q.pop();
			}
			if(flag){
				ans+=a[i].y;
			}
		}
	}
	W(ans);
	return 0;
}

码风奇丑

2023/8/14 11:31
加载中...