#include <bits/stdc++.h>
using namespace std;
// #define test
#define int long long
int l = 1, r, sum;
struct subway
{
bool used;
int time, price;
}sub[100002];
signed main()
{
#ifdef test
freopen("bus.in", "r", stdin);
freopen("bus.out", "w", stdout);
#endif // test
int n;
scanf("%lld", &n);
for(int i = 0; i < n; i ++)
{
int opera, price, time;
scanf("%lld%lld%lld", &opera, &price, &time);
if (!opera)
{
sub[++l].price = price;
sub[l].time = time;
sum += price;
}
else
{
bool flag = false;
for(int j = l; j < r; j ++)
{
if(!sub[j].used && sub[j].price >= price && time - sub[i].time <= 45)
{
flag = true;
sub[j].used =true;
break;
}
}
if (!flag)
sum += price;
}
while (time - sub[l].time > 45 && l < r)
l ++;
}
printf("%lld", sum);
return 0;
}
懵了, 和题解差不多,但全 WA
题解错了
求 dalao 调代码