大佬,0分求助
查看原帖
大佬,0分求助
794178
2023chencheng楼主2023/3/25 13:41
#include <cstdio>
using namespace std;
int n,sum,l,begin=1;
bool f;
struct Node1{
	int price,time;
}b[1000005];
struct Node{
	int id,price,time;
}a[100005];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d%d%d",&a[i].id,&a[i].price,&a[i].time);
	for(int i=1;i<=n;i++){
		if(a[i].id){
			if(begin>l)sum+=a[i].price;
			else{
				for(int j=begin;j<=l;j++)
				if(b[j].time+45<a[i].time)begin++,f=1;
				else if(b[j].price>=a[i].price){f=0;break;}
				else f=1;
				if(f)sum+=a[i].price;
			} 
		}
		else{
			b[++l].price=a[i].price;
			b[l].time=a[i].time;
			sum+=a[i].price;		
		}
	}
	printf("%d\n",sum);
	return 0;
}
2023/3/25 13:41
加载中...