45分,11个TLE,求助
查看原帖
45分,11个TLE,求助
697201
whitenightdaye楼主2022/7/2 16:55
#include<iostream>
using namespace std;
int f,pi,flag,ji[100000],h=1,o=1,flag1;
long long ti,ans=0,shi[100000];
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;++i)
	{
		cin>>f>>pi>>ti;
		if(f==0)
		{
			flag++;
			shi[h]+=ti+45;
			ji[h]=pi;
			h++;
			ans+=pi;
		}
		else
		{
			if(flag!=0)
			{
				for(int j=1;j<=h;++j)
				{
					if(shi[j]==0||ji[j]==0)
					{
						continue;
					}
					if(shi[j]-ti>=0&&ji[j]>=pi)
					{
						flag--;
						shi[j]=0;
						ji[j]=0;
						flag1=1;
						break;
					}
				}
				if(flag1==0)
				{
					ans+=pi;
				}
				else
				{
					flag1=0;
				}
			}
			else
			{
				ans+=pi;
			}
		}
	}
	cout<<ans;
	return 0;
}
2022/7/2 16:55
加载中...