题目描述
“饱了么”外卖系统中维护着N 家外卖店,编号1~N。 每家外卖店都有一个优先级,初始时(0 时刻) 优先级都为0。 每经过1
个时间单位,如果外卖店没有订单,则优先级会减少1,最低减到0; 而如果外卖店有订单,则优先级不减反加,每有一单优先级加2。
如果某家外卖店某时刻优先级大于5,则会被系统加入优先缓存中; 如果优先级小于等于3,则会被清除出优先缓存。 给定T 时刻以内的M
条订单信息,请你计算T 时刻时有多少外卖店在优先缓存中。输入
第一行包含3 个整数N、M 和T。 以下M 行每行包含两个整数ts 和id,表示ts 时刻编号id 的外卖店收到一个订单 1<=N, M,
T<=100000,1<=ts<=T,1<=id<=N。输出
输出一个整数代表答案。
样例输入 Copy
2 6 6 1 1 5 2 3 1 6 2 2 1 6 2
样例输出 Copy
1
今天重新来做这道题(其实是堕落了好久又良心发现了)
重新模拟样例的时候发现,不同的外卖店之前好像是互相独立,互不影响的???!!!
那为什么之前要想着用数据结构存储它们呢?对每个外卖店单独模拟不也一样的吗?
于是果断敲代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Max = 100010;
vector<int> dingdan[Max];
int p[Max];
bool incache[Max];
int N,M,T;
int main() {
ios::sync_with_stdio(false);
cin.