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










有帮助,赞一个