比赛 至少完成十道练习 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 海港 最终得分 100
用户昵称 Ostmbh 运行时间 0.543 s
代码语言 C++ 内存使用 2.60 MiB
提交时间 2017-05-23 08:43:40
显示代码纯文本
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <queue>
  5. #include <vector>
  6. using namespace std;
  7. const int maxn=100010;
  8. queue<int>q;
  9. vector<int>A[maxn];
  10. int k[maxn];
  11. int t[maxn];
  12. int cn[maxn]={0};
  13. int main(){
  14. freopen("port.in","r",stdin);
  15. freopen("port.out","w",stdout);
  16. int n;
  17. scanf("%d",&n);
  18. int cnt=0;
  19. for(int i=1;i<=n;i++){
  20. scanf("%d %d",&t[i],&k[i]);
  21. q.push(i);
  22. int x;
  23. for(int j=1;j<=k[i];j++){
  24. scanf("%d",&x);
  25. A[i].push_back(x);
  26. if(cn[x]==0)
  27. cnt++;
  28. cn[x]++;
  29. }
  30. while(!q.empty()&&t[q.front()]<=t[i]-86400){
  31. for(int j=0;j<A[q.front()].size();j++){
  32. int u=A[q.front()][j];
  33. cn[u]--;
  34. if(!cn[u])
  35. cnt--;
  36. }
  37. q.pop();
  38. }
  39. printf("%d\n",cnt);
  40. }
  41. return 0;
  42. }