这道题是一道枚举题。
有新国家进入就答案
;
并且相应的统计位置(w[i])
;
如果当前国家进入时间
上个国家进入时间
那么就不统计。
当新国家的统计位置已经为零,
答案就
。
#include<iostream>
#include<cstdio>
int w[1000010],x[1000010],ti[10000010];
int n,k,t,r,i,ans;
using namespace std;
int main()
{cin>>n;for(int l=1; l<=n; l++){cin>>t>>k;for(int j=1; j<=k; j++){ti[++r]=t;cin>>x[r];if(w[x[r]]==0)ans++;w[x[r]]++;}while(t-ti[i]>=86400){w[x[i]]--;if(w[x[i]]==0)ans--;i++;}cout<<ans<<endl;}return 0;
}