代码
#include <iostream>
#include <cmath>
using namespace std;
const long long N = 1000005;
struct Ticket {
int t,m;
bool used;
}tic[N];
int main(){
long long n,head = 0,tail = 0;
cin>>n;
long long price = 0;
for (int i = 0;i < n;i++){
int sorb,time,money;
cin>>sorb>>money>>time;
if (!sorb){
tail++;
price += money;
tic[i].m = money;
tic[i].t = time + 45;
}
else{
int nhead = head;
for (int i = head;i < tail;i++){
if(tic[i].t < time){
nhead = i;
continue;
}
if(tic[i].m >= money && !tic[i].used){
tic[i].used = 1;
price -= money;
break;
}
}
head = nhead;
price += money;
}
}
cout<<price<<endl;
return 0;
}
本地的数据都是对的,但洛谷的输出不一样
蒟蒻太弱了看两遍没看出问题
(洛谷测评机应该木有问题吧。。。)