玄关,样例过但全 WA
  • 板块题目总版
  • 楼主xuruize666
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/9/30 18:32
  • 上次更新2024/9/30 18:45:48
查看原帖
玄关,样例过但全 WA
1287951
xuruize666楼主2024/9/30 18:32
#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;
}

和题解很像, 但就是 WA 别迷信题解

2024/9/30 18:32
加载中...