“饱了么”外卖系统中有 N N 家外卖店,编号为 1 ∼ N 1∼N。每家外卖店都有一个推荐度,一开始时(第 0 0 天)所有外卖店的推荐度为 0 0。
在一天中,如果某家外卖店没有收到订单,那么该家外卖店的推荐度就会减少 1 1(最多减少到 0 0);而如果收到订单,那么每收到一个订单外卖店的推荐度就会增加 2 2。
“饱了么”平台会根据外卖店的推荐度来设置“优选外卖店”。在每一天结束时,如果某家外卖店的推荐度大于 5 5,那么该外卖店会在该天结束时被系统设置为“优选外卖店”;而如果某家“优选外卖店”在当天结束时的推荐度小于等于 3 3,那么该家外卖店会被系统取消“优选外卖店”的资格。
现在告诉你第 1 1 天到第 T T 天的 M M 条订单信息,请你求出第 T T 天结束时有多少家“优选外卖店”。
输入格式 第 1 1 行包含两个整数 N , M , T N,M,T。
接下来 M M 行,每行包含两个整数 t , i d t,id,表示第 t t 天编号为 i d id 的外卖店收到了一个订单。
输出格式 输出一个整数,表示第 T T 天结束时“优选外卖店”的数量。
#include<bits/stdc++.h>
using namespace std;
int n,m,t,vis[10010][10010];
int main(){
cin>>n>>m>>t;
while(m--){
int a,b;
cin>>a>>b;
vis[b][a]++;
}
int num=0;
for(int i=1;i<=n;i++){
int man=0,vis1=0;
for(int j=1;j<=t;j++){
if(vis[i][j]>0)man=man+vis[i][j]*2;
else if(vis[i][j]==0&&man>0)man=man-1;
if(man>5&&vis1==0){
num++;
vis1=1;
}
if(man<=3&&vis1==1){
num--;
break;
}
}
}
cout<<num;
return 0;
}