题目:1241. 外卖店优先级
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e5+10;
const int mod=100000007;
int n,m,T;
typedef pair<int ,int > PII;
priority_queue<PII,vector<PII>,greater<PII>> q;
PII g[N];
bool sta[N];
int main(){
cin>>n>>m>>T;
int x,y;
for(int i=0;i<m;i++){
scanf("%d%d",&x,&y);
q.push({x,y});
}
for(int i=1;i<=n;i++)
g[i]={0,0};
for(int i=0;i<m;i++){
int ts=q.top().first;
int id=q.top().second;
q.pop();
int ts2=g[id].first;
int ts3=g[id].second;
if(ts2<ts){
ts3=max(0,ts3-(ts-ts2-1));
if(sta[id]&&ts3<=3) sta[id]=0;
}
ts3+=2;
if(ts3>5) sta[id]=1;
g[id]={ts,ts3};
}
for(int i=1;i<=n;i++){
if(sta[i]){
int t=g[i].first;
int t1=g[i].second;
if(T>t)
t1=max(0,t1-(T-t));
if(t1<=3) sta[i]=0;
}
}
int ans=0;
for(int i=1;i<=n;i++){
if(sta[i]) {
//cout<<i<<" ";
ans++;
}
}
cout<<ans;
return 0;
}