求助!!!
查看原帖
求助!!!
221912
杨守依楼主2020/10/16 23:43

求助!!!

怎么调都过不了

样例也才过了一个

但我这个蒟蒻怎么也找不出来哪错了

代码如下:

#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
int n,cost,m0,m1,h=1;
struct node
{
	int prize,time,use;
}sub[maxn],bus[maxn];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		int x;scanf("%d",&x);
		if(x==0)
		{
			m0++;
		    scanf("%d%d",&sub[m0].prize,&sub[m0].time);
			cost+=sub[m0].prize;
			sub[m0].use=-1;
		}
		else
		{
			m1++;
			scanf("%d%d",&bus[m1].prize,&bus[m1].time);
			bus[m1].use=-1;
		}
	}
	for(int i=1;i<=m1;i++)
	{
		for(int j=h;j<=m0;j++)
		{
			if((sub[j].use==-1)&&(bus[i].time-sub[j].time<=45))
			{
				sub[j].use=1;
				if(sub[j].prize>=bus[i].prize)
				{
					bus[i].use=1;
					h=j+1;
					break;
				}
			}
		}
		if(bus[i].use==-1)
		{
			cost+=bus[i].prize;
		}
	}
	printf("%d",cost);
	return 0;
}
markdown真难用
2020/10/16 23:43
加载中...