爆零!!!
查看原帖
爆零!!!
559847
Ferm_Tawn楼主2022/6/19 12:40

样例全过但都wawa

codecode:

#include<bits/stdc++.h>
using namespace std;
struct ticket{
	long long choose;
	long long prize;
	long long time;
};
ticket a[100005];
queue<long long> q;
long long coun = 0;
long long j = 0;
long long ans = 0;
bool flag;
int main(){
	long long n;
	cin >> n;
	for(int i = 1 ; i <= n ; i++){
		scanf("%d%d%d" , &a[i].choose , &a[i].prize , &a[i].time);
	}
	for(int i = 1 ; i <= n ; i++){
		if(a[i].choose == 0){
			q.push(i); 
			coun++;
			ans += a[i].prize;
		} 
		else{
			j = 0;
			flag = false;
			while(!q.empty()){
				j++;
				if(j > coun) break;
				int t = q.front();
				if(a[i].time - a[t].time > 45){
					q.pop();
					coun--;
					j--;
				} 
				else if(a[t].prize < a[i].prize){
					q.pop();
					q.push(t);
				}
				else{
					flag = true;
					break;					
				}

				
			}
			if(flag == false) ans += a[i].prize;
		}
	}
	cout << ans;
	return 0;
}
2022/6/19 12:40
加载中...