#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
int a[100100];
int people[500100];
struct node{
int country;
int time;
};
queue<node>q;
int main(){
int n, sum = 0;
scanf("%d", &n);
for(int i = 1; i <= n; i++){
int t, p;
scanf("%d%d", &t, &p);
node temp;
temp.time = t;
for(int i = 1; i <= p; i++){
int cty;
scanf("%d", &cty);
temp.country = cty;
q.push(temp);
if(!people[cty]){
sum++;
}
people[cty]++;
}
while(1){
node old;
old = q.front();
if(temp.time - 86400 >= old.time){
int tc = old.country;
people[tc]--;
if(!people[tc]){
sum--;
}
q.pop();
} else {
break;
}
}
printf("%d\n", sum);
}
return 0;
}
【NOIP16普及组】海港
最新推荐文章于 2024-10-18 22:24:00 发布