求助,只有40 wa和tle
查看原帖
求助,只有40 wa和tle
363495
我爱杨帆楼主2020/8/9 17:58
#include<bits/stdc++.h>
using namespace std;
struct node
{
	long long  tim;
	long long  personality;
}s[3000005];
long long b[3000005],ans,maxn;
long long  hd=1;
int main()
{ long long n,t,k;
  long long  sum=0;
  cin>>n;
  for(long long  i=1;i<=n;i++)
   {
   	cin>>t>>k;
   	 sum+=k;
   	 for(long long  j=sum-k+1;j<=sum;j++)
   	  {
   	  cin>>s[j].personality;
   	   s[j].tim=t;
   	   maxn=max(maxn,s[j].personality);
   	  if(!b[s[j].personality]) ans++;
   	      b[s[j].personality]++;
      }
     for(long long j=hd;j<=sum;j++)
	  {
	  	if(!b[s[j].personality]) continue;
	  	if(s[j].tim+86400<=t) 
		  {	
		  b[s[j].personality]--;
		  hd=j;
	      }
	  	if(b[s[j].personality]<=0) ans--;
	  } 
	 cout<<ans<<endl; 
   }
}
2020/8/9 17:58
加载中...