40分其余wa,求调

P2058 [NOIP2016 普及组] 海港

AC代码 ```cpp #include<iostream> #include<cstdio> #include<vector> #include<map> using namespace std; inline int read(){ int x=0,f=1; char c=getchar(); while(c<'0'||c>'9'){if(c=='-')f*=-1;c=getchar();} while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+c-'0';c=getchar();} return x*f; } map<int,int>mp; vector<int >v[100010]; struct node{ int t,k; }a[100010],que[100010]; int n,head=1,tail=1,ans=0; int main(){ // freopen("port.in","r",stdin); // freopen("port.out","w",stdout); n=read(); for(int i=1;i<=n;i++){ a[i].t=read(),a[i].k=read(); que[tail++]=a[i]; for(int j=1;j<=a[i].k;j++){ int x=read();mp[x]++; if(mp[x]==1)ans++; v[i].push_back(x); } while(head<tail){ if(a[i].t-86400>=que[head].t){ for(int j=0;j<v[head].size();j++){ mp[v[head][j]]--; if(mp[v[head][j]]==0)ans--; } head++; }else break; } printf("%d\n",ans); } return 0; } ```
by zhuozhiyuan @ 2023-10-12 21:00:58


|