Submission #65006786


Source Code Expand

#ifndef IO_HPP
#define IO_HPP 1

#include <array>
#include <cstdint>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <map>
#include <set>
#include <sstream>
#include <string>
#include <tuple>
#include <utility>
#include <vector>

namespace io {

void __read(char& c) { std::cin >> c; }
void __read(std::string& s) { std::cin >> s; }

template <typename T>
void __read_real(T& x) {
  std::string s;
  __read(s);
  x = std::stod(s);
}

template <typename T>
void __read_integer(T& x) {
  std::cin >> x;
}

void __read(int& x) { __read_integer(x); }
void __read(unsigned int& x) { __read_integer(x); }
void __read(long& x) { __read_integer(x); }
void __read(unsigned long& x) { __read_integer(x); }
void __read(long long& x) { __read_integer(x); }
void __read(unsigned long long& x) { __read_integer(x); }
void __read(double& x) { __read_real(x); }
void __read(long double& x) { __read_real(x); }

template <class U, class V>
void __read(std::pair<U, V>& p) {
  __read(p.first);
  __read(p.second);
}

template <size_t N = 0, typename T>
void __read_tuple(T& t) {
  if constexpr (N < std::tuple_size<T>::value) {
    auto& x = std::get<N>(t);
    __read(x);
    __read_tuple<N + 1>(t);
  }
}
template <class... T>
void __read(std::tuple<T...>& t) {
  __read_tuple(t);
}

template <size_t N = 0, typename T>
void __read(std::array<T, N>& a) {
  for (auto& x : a) {
    __read(x);
  }
}

template <class T>
void __read(std::vector<T>& v) {
  for (auto& x : v) {
    __read(x);
  }
}

void read() {}
template <class H, class... T>
void read(H& h, T&... t) {
  __read(h), read(t...);
}

void __write(const char c) { std::cout << c; }

void __write(const std::string s) {
  for (char c : s) {
    __write(c);
  }
}

void __write(const char* s) {
  size_t len = strlen(s);
  for (size_t i = 0; i < len; ++i) {
    __write(s[i]);
  }
}

template <typename T>
void __write_integer(T x) {
  std::cout << x;
}

template <typename T>
void __write_real(T x) {
  std::ostringstream oss;
  oss << std::fixed << std::setprecision(15) << double(x);
  std::string s = oss.str();
  __write(s);
}

void __write(int x) { __write_integer(x); }
void __write(unsigned int x) { __write_integer(x); }
void __write(long x) { __write_integer(x); }
void __write(unsigned long x) { __write_integer(x); }
void __write(long long x) { __write_integer(x); }
void __write(unsigned long long x) { __write_integer(x); }
void __write(double x) { __write_real(x); }
void __write(long double x) { __write_real(x); }

template <class U, class V>
void __write(const std::pair<U, V> p) {
  __write(p.first);
  __write(' ');
  __write(p.second);
}

template <size_t N = 0, typename T>
void __write_tuple(const T t) {
  if constexpr (N < std::tuple_size<T>::value) {
    if constexpr (N > 0) {
      __write(' ');
    }
    const auto x = std::get<N>(t);
    __write(x);
    __write_tuple<N + 1>(t);
  }
}
template <class... T>
void __write(std::tuple<T...> t) {
  __write_tuple(t);
}

template <class T, size_t S>
void __write(const std::array<T, S> a) {
  auto n = a.size();
  for (size_t i = 0; i < n; i++) {
    if (i) {
      __write(' ');
    }
    __write(a[i]);
  }
}

template <class T>
void __write(const std::vector<T> v) {
  auto n = v.size();
  for (size_t i = 0; i < n; i++) {
    if (i) {
      __write(' ');
    }
    __write(v[i]);
  }
}

template <class T>
void __write(const std::set<T> s) {
  __write(std::vector<T>{s.cbegin(), s.cend()});
}

template <class K, class V>
void __write(const std::map<K, V> m) {
  __write(std::vector<std::pair<K, V>>{m.cbegin(), m.cend()});
}

void write() { __write('\n'); }
template <class Head, class... Tail>
void write(Head&& head, Tail&&... tail) {
  __write(head);
  if (sizeof...(Tail)) {
    __write(' ');
  }
  write(std::forward<Tail>(tail)...);
}

}  // namespace io

#endif  // IO_HPP

#ifdef ONLINE_JUDGE
#include <bits/allocator.h>
#pragma GCC optimize("Ofast,unroll-loops,inline")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#endif

#include <bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;
// using namespace atcoder;
using namespace io;

template <typename T>
using ordered_set =
    tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

void solve() {
  int n, m;
  read(n, m);
  vector<vector<int>> a(m), g(n + 1);
  for (auto& ai : a) {
    int k;
    read(k);
    ai.resize(k);
    read(ai);
  }
  vector<int> cnt(m);
  for (int i{}; i < m; ++i) {
    for (auto aij : a[i]) {
      ++cnt[i];
      g[aij].push_back(i);
    }
  }
  int answer{};
  while (n--) {
    int bj;
    read(bj);
    for (auto i : g[bj]) {
      --cnt[i];
      if (!cnt[i]) {
        ++answer;
      }
    }
    write(answer);
  }
}

int main() {
  cin.tie(0)->sync_with_stdio(0);
  solve();
}

Submission Info

Submission Time
Task C - Dislike Foods
User nika_skybytska
Language C++ 20 (gcc 12.2)
Score 300
Code Size 5082 Byte
Status AC
Exec Time 121 ms
Memory 37096 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 33
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3480 KiB
00_sample_01.txt AC 1 ms 3492 KiB
01_test_00.txt AC 13 ms 6668 KiB
01_test_01.txt AC 6 ms 4568 KiB
01_test_02.txt AC 4 ms 4084 KiB
01_test_03.txt AC 2 ms 3640 KiB
01_test_04.txt AC 5 ms 4284 KiB
01_test_05.txt AC 2 ms 3780 KiB
01_test_06.txt AC 68 ms 16516 KiB
01_test_07.txt AC 21 ms 10148 KiB
01_test_08.txt AC 58 ms 15144 KiB
01_test_09.txt AC 57 ms 14728 KiB
01_test_10.txt AC 54 ms 13824 KiB
01_test_11.txt AC 72 ms 21344 KiB
01_test_12.txt AC 70 ms 18572 KiB
01_test_13.txt AC 22 ms 9344 KiB
01_test_14.txt AC 77 ms 17676 KiB
01_test_15.txt AC 34 ms 9708 KiB
01_test_16.txt AC 104 ms 31568 KiB
01_test_17.txt AC 36 ms 13036 KiB
01_test_18.txt AC 88 ms 21216 KiB
01_test_19.txt AC 70 ms 23052 KiB
01_test_20.txt AC 77 ms 29828 KiB
01_test_21.txt AC 111 ms 33548 KiB
01_test_22.txt AC 121 ms 37096 KiB
01_test_23.txt AC 81 ms 29888 KiB
01_test_24.txt AC 14 ms 7856 KiB
01_test_25.txt AC 15 ms 6136 KiB
01_test_26.txt AC 22 ms 13436 KiB
01_test_27.txt AC 18 ms 10296 KiB
01_test_28.txt AC 13 ms 6268 KiB
01_test_29.txt AC 22 ms 13400 KiB
01_test_30.txt AC 1 ms 3396 KiB