0pts求调!
查看原帖
0pts求调!
1251905
cao_20115楼主2024/5/23 22:02

样例情况

样例一错误,样例二通过。

Code

#include <cstdio>
struct Ticket{
    int t;
    int p;
    bool flag;
}a[100010];
int n, ans;
int tt, pp, op;
int front, tail;
int main(){
    scanf("%d", &n);
    for (int i = 0; i < n; ++i) {
        scanf("%d%d%d", &op, &pp, &tt);
        if (op == 0) {
            ans += pp;
            a[tail].p = pp;
            a[tail].t = tt + 45;
            tail++;
        }
        else {
            while(front < tail && a[front].t < tt) front++;
            bool find;
            for (int j = front; j < tail; ++j) {
                if (a[j].p >= pp && a[j].flag == 0) {
                    find = true;
                    a[j].flag = 1;
                    break;
                }
            }
            if (!find) ans += pp;
        }
    }
    printf("%d", ans);
    return 0;
}
2024/5/23 22:02
加载中...