救命!把第6行的j=s-45改成j=1就是45分,不改是0分
查看原帖
救命!把第6行的j=s-45改成j=1就是45分,不改是0分
1252478
puy_dp_lijunhao楼主2024/10/1 22:04
#include<bits/stdc++.h> 
using namespace std;
long long cp[100001][3],j;//price,time
bool pd(int s,int k,int p,int t)
{
	for(j=s-45;j<=k && j>0;j++)
	{
		if(cp[j][1]>=p && t-cp[j][2]<=45)
		{
			cp[j][1]=-1;
			 return 1;
		}
	}
	return 0;
}
int main()
{
	long long n,k=1,sum=0;
	int a,b,c;
	memset(cp,0,sizeof(cp));
	cin>>n;
	for(int i=1;i<=n;i++) 
	{
		cin>>a>>b>>c;//车型(0地铁,1公交车),price,time
		if(a==0)
		{
			cp[k][1]=b;cp[k][2]=c;
			k++;
			sum+=b;
		}
		else	if(!pd(i,k,b,c)) sum+=b;//寻找是否有可用车票 	
	}
	cout<<sum;
	return 0;
}
2024/10/1 22:04
加载中...