当前位置: 代码迷 >> 综合 >> NOIP2016 海港【枚举】
  详细解决方案

NOIP2016 海港【枚举】

热度:88   发布时间:2024-02-05 17:15:18.0

这道题是一道枚举题。

有新国家进入就答案 + + ++
并且相应的统计位置(w[i]) + + ++ ;
如果当前国家进入时间 ? - 上个国家进入时间 > = 86400 >=86400
那么就不统计。
当新国家的统计位置已经为零,
答案就 ? ? --

#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;
}