求调
  • 板块灌水区
  • 楼主Sunhaowen2013
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/25 10:56
  • 上次更新2024/10/25 13:38:09
查看原帖
求调
1127124
Sunhaowen2013楼主2024/10/25 10:56
#include <iostream>
using namespace std;
int n;
int cnt = 0;
int cost = 0;
int idx = 1;
bool flag = false;
struct TicketList{
    int ticprice;
    int tictime;
    bool ticused = false;
}ticket[100010];
int main(){
    scanf("%d",&n);
    for(int i = 1;i <= n;i += 1){
        int way,subprice,subtime;
        scanf("%d",&way);
        if(way == 0){
            cnt++;
            cin >> ticket[cnt].ticprice >> ticket[cnt].tictime;
            cost += ticket[cnt].ticprice;
        }
        else{
            cin >> subprice >> subtime;
            flag = false;
            while(ticket[idx].tictime - subtime > 45) idx++;
            for(int j = idx;j <= cnt;j += 1){
                if(ticket[j].ticprice > subprice && ticket[j].ticused == false){
                    ticket[j].ticused = true;
                    flag = true;
                    break;
                }
            }
            if(flag == false) cost += subprice;
        }
    }
    printf("%d",cost);
    return 0;
}

题目描述

2024/10/25 10:56
加载中...