样例1没过,但提交AC(懵逼中)
查看原帖
样例1没过,但提交AC(懵逼中)
891606
2023gdgz01楼主2023/6/10 11:09
#include <iostream>

using namespace std;

struct node
{
	bool by;
	int price, t;
};

struct ticket
{
	int price, last;
	bool use;
};

bool flag, by;
int n, ans, l = 1, r, price, t;
ticket tic[100005];

int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> by >> price >> t;
		if (!by)
		{
			ans += price;
			r++;
			tic[r] = {price, t + 45, false};
		}
		else
		{
			flag = true;
			while (l < r && tic[l].last < t)
			{
				l++;
			}
			for (int j = l; j <= r; j++)
			{
				if (!tic[j].use && tic[j].price >= price)
				{
					flag = false;
					tic[j].use = true;
					break;
				}
			}
			if (flag)
			{
				ans += price;
			}
		}
	}
	cout << ans << endl;
	return 0;
}

哪位dalao能解释

2023/6/10 11:09
加载中...