代码如下:
#include<iostream>
using namespace std;
struct Ticket{
int get_time = 0;
int price = 0;
}tickets[100005];
bool find(int use_time,int price,int index){
for(int i = index - 45;i < index;i += 1)
{
if(use_time - tickets[i].get_time <= 45 && price <= tickets[i].price)
{
tickets[i].price = -1;
return true;
}
}
return false;
}
int main(){
int n;
long long ans = 0;
cin>>n;
bool type;
int price,t,index = 0;
for(int i = 0;i < n;i += 1)
{
cin>>type>>price>>t;
if(!type)
{
ans += price;
tickets[index].get_time = t;
tickets[index].price = price;
index += 1;
}
else
{
if(!find(t,price,index))
{
ans += price;
}
}
}
cout<<ans<<endl;
return 0;
}
提交结果如标题所示,样例无误但提交结果为AC和RE分数在30~70间浮动
总之求dalao指点啦QwQ,无论您的指点有没有起作用总之指点必关cwc
谢谢啦