1284 海港 普及組 NOIP2016 佇列基礎 簡單列舉 簡單模擬 優先佇列(priority_queue)

CRt0729發表於2024-06-28

NB,標籤大王

也可以知道,就是佇列模擬了

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 3e5+10;
struct node{
    int t,x;
}; 
queue<node>q;
int a[N];
int n,k,x,t,ans;
node r;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d %d",&r.t,&k);
        t = r.t;
        for(int j=1;j<=k;j++)
        {
            scanf("%d",&r.x);
            if(!a[r.x])ans++;
            a[r.x]++;
            q.push(r);
        }
        r = q.front();
        while(!q.empty() && t-r.t>=86400)
        {
            q.pop();
            a[r.x]--;
            if(!a[r.x])ans--;
            r = q.front();
        }
        cout<<ans<<endl;
    }
     return 0;
}

相關文章