比赛 |
至少完成十道练习 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
海港 |
最终得分 |
100 |
用户昵称 |
Ostmbh |
运行时间 |
0.543 s |
代码语言 |
C++ |
内存使用 |
2.60 MiB |
提交时间 |
2017-05-23 08:43:40 |
显示代码纯文本
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <queue>
- #include <vector>
- using namespace std;
- const int maxn=100010;
- queue<int>q;
- vector<int>A[maxn];
- int k[maxn];
- int t[maxn];
- int cn[maxn]={0};
- int main(){
- freopen("port.in","r",stdin);
- freopen("port.out","w",stdout);
- int n;
- scanf("%d",&n);
- int cnt=0;
- for(int i=1;i<=n;i++){
- scanf("%d %d",&t[i],&k[i]);
- q.push(i);
- int x;
- for(int j=1;j<=k[i];j++){
- scanf("%d",&x);
- A[i].push_back(x);
- if(cn[x]==0)
- cnt++;
- cn[x]++;
- }
- while(!q.empty()&&t[q.front()]<=t[i]-86400){
- for(int j=0;j<A[q.front()].size();j++){
- int u=A[q.front()][j];
- cn[u]--;
- if(!cn[u])
- cnt--;
- }
- q.pop();
- }
- printf("%d\n",cnt);
- }
- return 0;
- }