传送门
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
long long n,tap[N],t[N],price[N],s[N],ans,m;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d%d%d",&tap[i],&price[i],&t[i]);
if(tap[i]==0){
s[i]=t[i];
ans+=price[i];
}
else{
for(int j=1;j<=i;j++){
m=0;
if(t[i]-s[j]<=45&&s[j]!=0&&price[i]<=price[j]){
s[j]=0;
m=1;
break;
}
}
if(m==0) ans+=price[i];
}
}
printf("%d",ans);
return 0;
}
O(nsqrt(n))为什么在n=80000时就超时?
O(nsqrt(n))为什么只得了45分?(测试点8开始输出没问题但超时)
求大佬优化