NC231897. 简单的数据结构问题
描述
输入描述
第一行输入一个正整数,表示bs统计了 节 车厢的信息。
接下来 n 行,每行描述一节车厢的信息:前两个整数 ti 和 ki 分别表示这节车厢到达站点的时间和其中乘客的数量,接下来 ki 个整数 表示车厢上乘客的国籍。
保证输入的 ti 是递增的,单位是秒;表示从bs一开始计时,这节车厢在第 ti 秒到达车站。
输出描述
输出 n 行,第 i 行输出一个整数表示第 i 节车厢到达后的统计信息。
示例1
输入:
1 10 10 6 2 7 2 1 5 6 1 6 10
输出:
6
C++ 解法, 执行用时: 5ms, 内存消耗: 780K, 提交时间: 2021-12-18 23:10:36
#include<iostream> using namespace std; int s,i,n,t,k,r,w[100001],x[300002],y[300002]; int main(){ cin>>n; while(n--){ cin>>t>>k; while(k--){ y[++r]=t;cin>>x[r]; if(!w[x[r]])s++; w[x[r]]++; } while(t-y[i]>=86400) if(!--w[x[i++]])s--; cout<<s<<endl; } }