样例1没过,但是AC了!!!
查看原帖
样例1没过,但是AC了!!!
784430
hyxwork楼主2024/9/30 12:00
#include<iostream>
using namespace std;

const int MAXN = 1e5+10;
struct ticket{
	int pri; // price
	int tim; // time
	bool used;
} tic[MAXN];
int head = 0, tail = 0, ans = 0;

int main(){
	int T; cin >> T;	
	while(T--){
		int opt,pri,tim;
		cin >> opt >> pri >> tim;
		if(opt == 0){
			ans += pri;
			tail++; 
			tic[tail].pri = pri; 
			tic[tail].tim = tim+45;		
		}else{
			// 删除过期票
			for(int i = 1; i <= tail; i++){
				if(tic[i].tim >= tim){
					head = i;
					break;
				}
			}
			bool f = false; // 是否有增票能用 
			for(int i = head; i <= tail; i++){
				if(tic[i].pri >= pri && !tic[i].used){
					f = true;
					tic[i].used = true;
					break;
				}
			}
			ans += (!f)*pri;
		}
	}
	cout << ans << endl;
	return 0;
}
2024/9/30 12:00
加载中...