社区讨论
求助!
P5661[CSP-J 2019] 公交换乘参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo2yo4i0
- 此快照首次捕获于
- 2023/10/23 21:56 2 年前
- 此快照最后确认于
- 2023/10/23 21:56 2 年前
样例没过,不知道哪里错了
CPP#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;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...