求大佬qwq 样例1过了但是2没有过
查看原帖
求大佬qwq 样例1过了但是2没有过
1016748
Wangyuqi2010楼主2024/10/3 23:04
#include<iostream>
using namespace std;
struct ticket {
	int prime,t;
} p[100010];
int n,head=1,tail=1,tot;
bool sum(int now,int pr) {//模拟题意qwq 
	int ans=0;
	bool flag=0;
	for(int i=head; i<=tail; i++) {
		if(p[i].t+45<now) head++;
		else {
			ans+=p[i].prime;
			if(ans>=pr) {
				flag=1;
				break;
			}
		}
	}
	if(flag=1) {
		ans=0;
		for(int i=head; i<=tail; i++) {
			ans+=p[i].prime;
			head++;
			if(ans>=pr) {
				return 1;
			}
		}
	}
	return 0;
}
int main() {
	cin>>n;
	for(int i=1; i<=n; i++) {
		int f,pr,ti;
		cin>>f>>pr>>ti;
		if(f==0) {
			tot+=pr;
			p[tail++]=(ticket){pr,ti};
		}
		if(f==1) {
			if(!sum(ti,pr)) tot+=pr;
			else ;
		}
	}
	cout<<tot;
	return 0;
}
2024/10/3 23:04
加载中...