求助!
查看原帖
求助!
551378
lxplxplxplxp楼主2023/3/11 13:23

样例没过,不知道哪里错了

#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
const int N=1e5+5;
struct ticket{
	int t;
	int pj;
};
queue<ticket>tic;
int main()
{
	int n,ans=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		int a,b,c;
		scanf("%d%d%d",&a,&b,&c);
		if(a==0)
		{
			ticket t;
			t.pj=b;
			t.t=c;
			tic.push(t);
			ans+=b;
		}
		if(a==1)
		{
			bool running=1;
			while(running)
			{
				if(tic.empty()) break;
				{
					ticket t=tic.front();
					if(c-t.t>45) tic.pop();
					else break;
				}
			}
			for(int i=0;i<tic.size();i++)
			{
				if(tic.empty())
				{
					ans+=b;
					break;
				}
				ticket t=tic.front();
				tic.pop();
				if(t.pj>b) break;
				else tic.push(t);
				ans+=b;
			}
		}
	}
	cout<<ans;
	return 0;
}
2023/3/11 13:23
加载中...