一本通能过洛谷全TLE
查看原帖
一本通能过洛谷全TLE
786469
TheLastChicken楼主2023/10/4 14:29

代码在一本通上AC,洛谷上提交全TLE。

#include<bits/stdc++.h>
using namespace std;
int n;//次数
int a[46][3],ji=0;//票价+时间 
int i,j,k,l;//循环
int k1,k2,k3;
int much=0;//总价钱 

int main()
{
	//freopen("transfer.in","r",stdin);
	//freopen("transfer.out","w",stdout);
	cin>>n;
	for(k=1;k<=n;k++)
	{
		cin>>k1;
		if(k1==0)//地铁 
		{
			cin>>k2>>k3;
			much+=k2;
			//cout<<"+"<<k2<<" "<<"票数:"<<ji<<endl;
			ji++;
			if(ji>45)
			{
				for(i=2;i<=ji;i++)
				{
					a[i][1]=a[i+1][1];
					a[i][2]=a[i+1][2];
				}
				ji--;
			}
			
			a[ji][1]=k2;
			a[ji][2]=k3;
		}
		
		if(k1==1)
		{
			cin>>k2>>k3;
			int fl=0;
			for(i=1;i<=ji;i++)
			{
				if(a[i][1]>=k2 && k3-a[i][2]<=45)
				{
					fl=1;
					//cout<<"免票:"<<a[i][1]<<">="<<k2<<" && "<<k3<<"-"<<a[i][2]<<"<=45"<<endl;
					for(j=i;j<=ji;j++)
					{
						a[j][1]=a[j+1][1];
						a[j][2]=a[j+1][2];
					}
					break;
				}
			}
			if(fl==0)
			{
				much+=k2;
				/*
				cout<<"缴费:";
				cout<<"+"<<k2<<endl;
				cout<<"剩余票:"<<endl;
				for(i=1;i<=ji;i++)
				{
					cout<<i<<":"<<a[i][1]<<" "<<a[i][2]<<endl;
				}
				*/
			}
		}
	}
	cout<<much;
	
	return 0;
}

提交记录

2023/10/4 14:29
加载中...