题目:https://www.luogu.org/problemnew/show/P2058
#include<bits/stdc++.h>
using namespace std;
struct node
{
int id;
int val;
};
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
queue<node>q1;
queue<int>q2;
int vis[100010],num=0;
int x,y[100010];
for(int i=1;i<=n;i++)
{
cin>>x>>y[i];
node tmp;
tmp.id=i;
tmp.val=x;
q1.push(tmp);
int k;
for(int j=1;j<=y[i];j++)
{
cin>>k;
q2.push(k);
if(!vis[k])num++;
vis[k]++;
}
while(!q1.empty()&&x-q1.front().val>=86400)
{
node tmp1=q1.front();
q1.pop();
for(int j=1;j<=y[tmp1.id];j++)
{
vis[q2.front()]--;
if(vis[q2.front()]==0)num--;
q2.pop();
}
}
cout<<num<<endl;
}
return 0;
}