代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n;
unordered_map<ll,ll>c;
unordered_map<ll,map<ll,ll>>d;
queue<ll>q1;
queue<ll>q2;
int main(){
cin>>n;
while(n--){
ll k,t,a;
cin>>t>>k;
q1.push(t);
q2.push(k);
for(ll i=1;i<=k;i++){
cin>>a;
c[a]++;
d[t][i]=a;
}if(t-q1.front()>=86400){
for(ll i=1;i<=q2.front();i++) c[d[q1.front()][i]]--;
q1.pop();
q2.pop();
}
cout<<c.size()<<endl;
}
return 0;
}
提示:本蒟蒻有点癫,用了两个queue,一个map,一个双重map,各位神犇可以不用在我的基础上改,发一个带注释的新代码给我也行,谢谢。