55,求助!
查看原帖
55,求助!
924502
qianhaoyu楼主2023/11/2 19:46

本蒟蒻的思路没问题但结果55

#include <bits/stdc++.h>
using namespace std;
struct node{
	long long t,p;
};
queue<node>arr;
queue<node>fzh;
int main(){
	long long n;
	long long jt,price,time;
	long long sum=0;
	cin>>n;
	for(long long i=1;i<=n;i++){
		cin>>jt>>price>>time;
		if(jt==0){
			sum+=price;
			arr.push({time,price});
		}
		if(jt==1){
			while(time-arr.front().t>45&&arr.size()!=0){
				arr.pop();
			}
			if(arr.size()!=0){
				if(arr.front().p>=price){
					arr.pop();
					continue;
				}else{
					node l;
					bool ans=false,num=false;
					while(arr.size()!=0){
						l=arr.front();
						arr.pop();
						if(l.p>price&&num!=true){
							ans=true;
							num=true;
							continue;
						}
						fzh.push(l);
					}
					while(fzh.size()!=0){
						l=fzh.front();
						fzh.pop();
						arr.push(l);
					}
					if(ans==true){
						continue;
					}
				}
			}
			sum+=price;
		}
	}
	cout<<sum;
	return 0;
}
2023/11/2 19:46
加载中...