满江红求调
查看原帖
满江红求调
36093
CSP_AK_zc楼主2024/9/5 22:13
#include<bits/stdc++.h>
using namespace std;
struct yhj{
	int time,price,used=0;
}a[114514];
int bou[114514],p[114514],t[114514];
int main(){
	int n,i,j,ans=0,l=0,lx=0,a_n=1;
	cin>>n;
	for(i=1;i<=n;i++)
		cin>>bou[i]>>p[i]>>t[i];
	for(i=1;i<=n;i++){
		if(bou[i]==0){
			ans+=p[i];
			a[a_n].time=t[i];
			a[a_n].price=p[i];
			if(t[i]-lx>45||l==0){
				l=a_n;
				lx=t[i];
			}
			a_n++;
		}
		else{
			int f=0;
			for(j=l;j<=a_n;j++){
				if(a[j].price>=p[i]&&t[i]-a[j].time-45<=0&&a[j].used==0)
				{
					f=1;
					//cout<<"使用"<<j<<"号优惠券  "<<"时间"<<a[j].time<<" "<<"失效时间"<<a[j].time+45<<" "<<"现在时间"<<t[i]<<endl;
					a[j].used=1;
					break;
				}
			}
			if(f==0) ans+=p[i];
			if(t[i]-lx>45){
				l=a_n;
				lx=t[i];
			}
		}
		//cout<<ans<<endl;
	}
	cout<<ans;
}

两个样例可过,提交全WA

2024/9/5 22:13
加载中...