璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup5661
problems
名称公交换乘
题目编号2019 CSP-J T2
题目链接luogu.com.cn/…
来源CCF
算法分类队列
难易程度容易

公交换乘

想法

使用队列维护优惠券,并打是否使用过的标记。

代码实现

#include <cstdio>
 
const int N = 1e5 + 10;
int t[N], val[N], head = 0, last = -1;
bool vis[N];
 
int main() {
    int n, type, ti, temp, ans = 0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%d %d %d", &type, &temp, &ti);
        while (head <= last && (ti - t[head] > 45 || vis[head]))
            head++;
        if (type) {
            bool flag = false;
            for (int t = head; t <= last; t++)
                if (val[t] >= temp && !vis[t]) {
                    flag = true;
                    vis[t] = true;
                    break;
                }
            if (!flag)
                ans += temp;
        } else {
            ans += temp;
            last++;
            t[last] = ti;
            val[last] = temp;
        }
    }
    printf("%d", ans);
    return 0;
}
/app/www/public/data/pages/icpc/problems/luogup5661.txt · 最后更改: 2024/03/27 02:33 由 温婕莺