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 |
|
|
| 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 |