小声:虽然我开了O2得70吧
考试时遇到的
求大佬给下优化方案
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
struct bs{
int p;long long t;
bool f;
}at[100050];long long ans;int n;
int flag;
int main()
{
/*freopen("transfer.in","r",stdin);
freopen("transfer.out","w",stdout);*/
scanf("%d",n);
for(int i=1;i<=n;i++)
{
int who;
scanf("%d",who);
if(who==0)
{
flag++;
cin>>at[flag].p>>at[flag].t;
ans+=at[flag].p;
}
else
{
int a;long long b;
cin>>a>>b;
bool a4=0;
for(int i1=1;i1<=flag;i1++)
{
if(at[i1].p>=a&&b- at[i1].t<=45&&at[i1].f==0)
{
at[i1].f=1;a4=1;
break;
}
}
if(a4==0)
{
ans+=a;
}
}
}
cout<<ans;
fclose(stdin);
fclose(stdout);
return 0;
}