前六个都对,后面超时,请大神看看咋改
查看原帖
前六个都对,后面超时,请大神看看咋改
326353
_helloWorld__楼主2020/10/16 22:24
#include<iostream> 
using namespace std;
int count,sumPrice,flagCh,temp;
struct tr{
	int trans,price,time;
	bool flag;
}a[10001];
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i].trans>>a[i].price>>a[i].time;
		if(a[i].trans==0) a[i].flag=true;
	}
	for(int i =0;i<n;i++)
	{
		flagCh=false;
		if(a[i].trans==0) sumPrice+=a[i].price;
		else
		{
			for(int j=0;j<i;j++)
			{
				if(a[j].flag==true&&(a[i].time-a[j].time)<=45&&a[i].price<=a[j].price)
				{
					a[j].flag=false;
					flagCh=true;
				
					break;
				}
			}
			if(!flagCh) sumPrice+=a[i].price;
		}
	}
	cout<<sumPrice;
	return 0; 
 } 
2020/10/16 22:24
加载中...