#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能解释