一个差一 点就AC的代码
  • 板块灌水区
  • 楼主许笑言xxy
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/10/14 16:29
  • 上次更新2023/11/2 13:53:24
查看原帖
一个差一 点就AC的代码
544121
许笑言xxy楼主2023/10/14 16:29
#include<bits/stdc++.h>
using namespace std;

int n,transport[100003],price[100003],t[100003];
int cost;
vector <int> kipu_t;
vector <int> kipu_price;

int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>transport[i]>>price[i]>>t[i];
		if(transport[i]!=1){
			kipu_t.push_back(t[i]);
			kipu_price.push_back(price[i]);
		}
		cost+=price[i];
	}
	
	for(int i=1;i<=n;i++){
		if(transport[i]==1){
			for(int j=0;j<kipu_t.size();j++){
				if(t[i]-kipu_t[j]>45){//过期
					kipu_t.erase(kipu_t.begin()+j);
					kipu_price.erase(kipu_price.begin()+j);
				}
				else if(kipu_price[j]>=price[i]){//当前最早票可用 
					cost-=price[i];
					kipu_t.erase(kipu_t.begin()+j);
					kipu_price.erase(kipu_price.begin()+j);
				//	cout<<"*"<<i<<endl;
					break;
				}
//				else{
//					int x=kipu_t.front();
//					kipu_t.pop();
//					kipu_t.push(x);
//					x=kipu_price.front();
//					kipu_price.pop();
//					kipu_price.push(x);
//				}	
			}
//			for(int j=1;j+1<=kipu_t.size();j++){
//				int x=kipu_t.front();
//				kipu_t.pop();
//				kipu_t.push(x);
//				x=kipu_price.front();
//				kipu_price.pop();
//				kipu_price.push(x);
//			}
		}
	}	 
	cout<<cost;
	return 0;
}
2023/10/14 16:29
加载中...