社区讨论

求助

P5661[CSP-J 2019] 公交换乘参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo85rs03
此快照首次捕获于
2023/10/27 13:14
2 年前
此快照最后确认于
2023/10/27 13:14
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e7;
int a[maxn],pr[maxn];
long long t[maxn];
int main()
{
	stack<int> q;
	stack<int> qq;
	int n,c=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i]>>pr[i]>>t[i];
	}
	for(int i=0;i<n;i++)
	{
		if(a[i]==0)
		{
			q.push(t[i]);
			c+=pr[i];
		}
		else
		{
			if(q.empty())
			{
				c+=pr[i];
			}
			else
			{
				for(int j=0;!(q.empty());j++)
				{
					qq.push(q.top());
					q.pop();
				}
				bool f=false;
				for(int j=0;j<i;j++)
				{
					if((qq.top()+45)<t[i])
					{
						f=true;
						qq.pop();
					}
					else
					{
						f=false;
						qq.pop();
						break;
					}
					if(qq.empty())
					{
						if(f==true)
						{
							c+=pr[i];
						}
						else
						{
							qq.pop();
						}
					}
				}
				for(int j=0;!(qq.empty());j++)
				{
					q.push(qq.top());
					qq.pop();
				}
			}
		}
	}
	cout<<c;
    return 0;
}
3221225477

回复

3 条回复,欢迎继续交流。

正在加载回复...