ABC 329
Table of Contents
https://atcoder.jp/contests/abc329
A. Spread
https://atcoder.jp/contests/abc329/tasks/abc329_a
B. Next
https://atcoder.jp/contests/abc329/tasks/abc329_b
C. Count xxx
https://atcoder.jp/contests/abc329/tasks/abc329_c
D. Election Quick Report
https://atcoder.jp/contests/abc329/tasks/abc329_d
E. Stamp
https://atcoder.jp/contests/abc329/tasks/abc329_e
F. Colored Ball
https://atcoder.jp/contests/abc329/tasks/abc329_f
サイズが小さい方の箱の中身を移すという比較的自然な考え方で解けた。なぜ水色 diff なのか疑問。
void solve() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
ll N, Q;
cin >> N >> Q;
vint col(N);
rep(i, N) cin >> col[i];
vector<set<int>> balls(N);
rep(i, N) balls[i].insert(col[i]);
rep(i, Q) {
int a, b;
cin >> a >> b;
a--, b--;
if (balls[a].size() < balls[b].size()) {
for (ll x : balls[a]) balls[b].insert(x);
balls[a].clear();
} else {
for (ll x : balls[b]) balls[a].insert(x);
balls[b].clear();
swap(balls[a], balls[b]);
}
cout << balls[b].size() << endl;
}
}