公交换乘思路
1.结构体 存储优惠卷的过期时间+金额
2.输入n
3.循环n次输入记录
4.判断若是轻轨
获得优惠卷1张记录 过期时间+金额
花钱
5若是公交车
flag记录是否有使用优惠卷
6.在所有优惠卷里面找
超时:扔掉
没超时:看金额是否满足 找到优惠卷停止
7.没找到 花钱购买
8.移动找到的票的前面部分的票 往前移动
代码实现
#include<iostream>
using namespace std;
struct node{
int money,time;
}a[100006];
int main(){
int n,sum=0,st=1,en=0;//st是a的开始下标 en是结束下标
cin>>n;
for(int i=1;i<=n;i++){
int f,p,t;
cin>>f>>p>>t; //车+价格+时间开始
if(f==0){//地铁
sum+=p;
++en;
a[en].money=p;
a[en].time=t+45;
}else{//公交车 时间超 去掉
int ans=-1;//能否找到票
for(int j=st;j<=en;j++){