代码:
#include<iostream>
using namespace std;
struct node{
bool way;
int cost,time;
}a[100005];
struct node1{
int cost,time;
}p[100005];
int cnt=0,ans=0,tail=1;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].way>>a[i].cost>>a[i].time;
bool pi=1;
if(a[i].way==1){
for(int j=1;j<=cnt;j++){
if(p[j].cost>=a[i].cost && a[i].time<=p[j].time){
p[j].cost=0;
pi=0;
break;
}
}
if(pi==1) ans+=a[i].cost;
}
if(a[i].way==0){
p[cnt].cost+=a[i].cost,p[cnt].time+=a[i].time+45,ans+=a[i].cost,cnt++;
}
}
cout<<ans<<endl;
return 0;
}
如上。
样例一没过,
具体原因是因为p数组(优惠券)没能记录。
不知道为什么。
自己没查出错误来,真的很无语,可能就是我太菜了吧。
真要这么菜赶紧退役,不要浪费时间精力。
希望有哪位可以帮帮蒟蒻,先手动@几个同校同校罢。
@Dark_Sky
@M652
@学而思李老师
@monters谔谔
能帮上的话,那就太感谢了。