1120 公交换乘

复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+10,inf = 0x3f3f3f3f;
struct node{
    int t,p,f;
};
node a[N];
int n,x,t,p,head = 1,tail = 1,ans;
int find(int p)
{
    for(int i = head;i < tail;i++)
        if(a[i].p >= p && a[i].f == 0)
        {
            a[i].f = 1;
            return 0;
        }
    return p;
}
int main()
{
    cin >> n;
    
    for(int i=1;i<=n;i++)
    {
        cin >> x >> p >> t;
        if(x == 0)
        {
            ans += p;
            a[tail].t = t;
            a[tail].f = 0;
            a[tail++].p = p;
        }
        else
        {
            while(head < tail && t - a[head].t > 45)head ++;
            ans += find(p);
        }
    }
    cout << ans;
     return 0;
}
复制代码

 

posted @   CRt0729  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2023-10-16 7788: 快速查找 二分查找/迭代器指针
点击右上角即可分享
微信分享提示