个人技术分享

P8685 [蓝桥杯 2019 省 A] 外卖店优先级 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5+10,M = 1e3+10;
int a[N];
signed main()
{
	int n,m,t;cin>>n>>m>>t;
	vector<vector<int>>st(n+10);
	for(int i=1;i<=m;i++)
	{
		int ts,id;cin>>ts>>id;
		st[id].push_back(ts);//哪个编号在哪个时间节点有了订单 
	}
	int ans = 0;
	for(int i=1;i<=n;i++)//枚举每个店铺
	{
		sort(st[i].begin(),st[i].end());
		auto k=st[i];
		int pri=0,last=0,flag=0;
		for(int j=0;j<k.size();j++)
		{
			int tmp=k[j]-last-1;
			if(k[j]==last)tmp=0;
			pri-=tmp;
			pri=max(0ll,pri);
			if(pri<=3)flag=0;
			pri+=2;
			if(pri>5)flag=1;
			last=k[j];
		}
		if(last!=t)pri-=(t-last);
		if(flag&&pri>3)ans++;
	 } 
	 cout<<ans;
	return 0;
 }