样例全过,提交全WA,求助
查看原帖
样例全过,提交全WA,求助
136939
tanghairong楼主2022/8/3 12:55
#include<iostream>
#define int long long
using namespace std;
struct list{
	int front,nexxt,price,time,use;
}l[100005]; 
signed main(){
//	freopen("bus.in","r",stdin);
//	freopen("bus.out","w",stdout);
	int n,ans=0,head=1,tail=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		int flag,price,time;
		cin>>flag>>price>>time;
		if(flag==0){
			ans+=price;
			l[tail+1].front=tail;
			l[tail].nexxt=tail+1;
			tail++;
			l[tail].price=price;
			l[tail].time=time;
			l[tail].use=0;
		}
		if(flag==1){
			int bj=0;
			for(int j=head;j;j=l[j].nexxt){
				if(l[j].price>=price&&time-l[j].time<=45&&!l[j].use){
					bj=1;
					l[j].use=1;
					l[l[j].front].nexxt=l[j].nexxt;
					l[l[j].nexxt].front=l[j].front;
					break;
				}
			}
			if(bj==0)ans+=price;
		}
		while(time-l[head].time>45&&l[head].time>0)head++;
	}
	cout<<ans;
	return 0;
}

用链表做的

2022/8/3 12:55
加载中...