30分求调
查看原帖
30分求调
1066396
szm111213楼主2024/10/3 10:10
#include <bits/stdc++.h>
using namespace std;
struct node
{
	int bus, vis = 0;
	long long price, t; 
}a[100005];
int main()
{
    int n, z = 0;
    cin >> n;
    for(int i=1;i<=n;i++)
    {
		cin >> a[i].bus >> a[i].price >> a[i].t;
	}
	for(int i=1;i<=n;i++)
	{
		if(a[i].bus == 0) z += a[i].price;
		if(a[i].bus == 1)
		{
			bool flag = 0;
			for(int j=1;j<=i;j++)
			{
				if(a[j].bus == 0 && a[j].vis == 0)
				{
					if(a[i].price <= a[j].price && a[i].t - a[j].t <= 45)
					{
						flag = 1;
						a[j].vis = 1;
						break;
					}
				}
			}
			if(!flag) z += a[i].price;
		}
	}
	cout << z << endl;
    return 0;
}
2024/10/3 10:10
加载中...