intmain() { int n, in, l = 0, r = 0;//区间的左右指针 cin >> n; while (n--) { cin >> rt >> rk; for (int i = 0; i < rk; ++i) { cin >> in; rv.emplace_back(in); ++mp[in]; } //区间和大于24小时,区间应收缩,左指针向右移 while (rt - lt + 1 > 86400) { for (int i = 0; i < lk; ++i) { if (mp.count(lv[i])) { --mp[lv[i]]; //如果该国籍人数为0,则从哈希表中移除该国籍 if (!mp[lv[i]]) mp.erase(lv[i]); } } ++l; } cout << mp.size() << endl; ++r; } return0; }
intmain() { ios::sync_with_stdio(false); cin.tie(0); int n, in, ans = 0, l = 0, r = 0; cin >> n; while (n--) { cin >> rt >> rk; for (int i = 0; i < rk; ++i) { cin >> in; q.emplace(in); if (cnt[in]++ == 0) ++ans; } while (rt - lt + 1 > 86400) { for (int i = 0; i < lk; ++i) { int u = q.front(); q.pop(); if (cnt[u] && --cnt[u] == 0) --ans; } ++l; } cout << ans << endl; ++r; } return0; }