2024-03-03 13:57:14
发布于:广东
错一个测试点(恼
#include<iostream>
using namespace std;
struct Ticket
{
int price;
int last;
bool used;
};
Ticket tic[100001];
int main()
{
bool bus;
int t,pri,x=1,y=0;
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>bus>>pri>>t;
if(!bus)
{
y++;
tic[y].last=t+60;
tic[y].price=pri;
tic[y].used=false;
sum+=pri;
}
else
{
bool can=false;
int newx=x;
for(int j=x;j<=y;j++)
{
if(tic[j].last<t)
{
newx=j;
continue;
}
if((tic[j].price>=pri)&&(!tic[j].used))
{
can=true;
tic[j].used=true;
break;
}
}
x=newx;
sum+=(!can)*pri;
}
}
cout<<sum<<endl;
return 0;
}
全部评论 3
我测了一下 应该是数据有问题的 不知道是哪一个团队出的 最优的写法应该要能预知未来,把价格高的先抵消掉。
2024-03-17 来自 浙江
2谢谢提醒,有兴趣来团队吗?https://www.acgo.cn/application/1739658168073375744
2024-03-31 来自 浙江
0团队什么时候可以设置管理员(期待)
2024-04-05 来自 广东
0稍微等等啊,30号比赛结束就马上设
2024-04-05 来自 浙江
0
已改,数据当时应该是打错了
2024-03-31 来自 浙江
0OKOK,在下改的题,现在改现在改,数据有bug,自测了一下确实过不了,马上改!
2024-03-31 来自 浙江
0竞赛里的题好像数据还是没变
2024-04-05 来自 广东
0emm,好像改不了,sorry啊
2024-04-05 来自 浙江
0
有帮助,赞一个