###代码逻辑貌似错了...各位可以帮忙看看吗
#include<iostream>
using namespace std;
const long long N = 1e7;
long long c[N][2];
struct k {
bool p;
long long price;
long long t;
} k[N];
int main() {
int f = 0;
long long n;
cin >> n;
for (long long i = 1; i <= n; i++) {
cin >> k[i].p >> k[i].price >> k[i].t;
if (!k[i].p) {
c[i][1] = k[i].price;
c[i][2] = k[i].t;
}
}
for (long long i = 1; i <= n; i++) {
for (long long j = f; j <= i && k[i].p; j++) {
if ((k[i].t - c[j][2]) < 46) {
if (c[j][1] != 0 && c[j][1] >= k[i].price) {
k[i].price = 0;
c[j][1] = 0;
break;
}
} else f = j;
}
}
long long peace = 0;
for (long long i = 1; i <= n; i++) {
peace += k[i].price;
}
cout << peace;
return 0;
}