10分求大佬解
查看原帖
10分求大佬解
1274343
limuchudsb楼主2024/8/15 19:50
#include<bits/stdc++.h>
using namespace std;
struct node
{
	int shijian,guoji;
}q[1000005];
int sum[1000005];
int head=1,tail=0;
void push(node x)
{
	tail++;
	q[tail].shijian=x.shijian;
	q[tail].guoji=x.guoji;
}
void pop()
{
	head++;
}
int main()
{
	int n;
	cin>>n;
	int cnt=0;
	for(int i=1;i<=n;i++)
	{
		int t,k;
		cin>>t>>k;
		for(int i=1;i<=k;i++)
		{
			int a;
			cin>>a;
			sum[a]++;
			if(sum[a]==1)
			{
				cnt++;
			}
			node cmp;
			cmp.shijian=t;
			cmp.guoji=a;
			push(cmp);
		}
		while(tail-head+1>0 && t-q[head].shijian>=86400)
		{
			int b=q[head].guoji;
			sum[b]--;
			if(sum[b]==0)
			{
				cnt--;
			}
			pop();
		}
		cout<<cnt;
	}
	return 0;	
}
2024/8/15 19:50
加载中...