제출 #1182414

#제출 시각아이디문제언어결과실행 시간메모리
1182414agussMarshmallow Molecules (CCO19_day2problem2)C++20
25 / 25
60 ms20548 KiB
#include <bits/stdc++.h>

#define dbg(x) cerr << #x << ": " << x << '\n';
#define dbgv(v) cerr << #v << ": "; for(auto &el : v) cerr << el << " "; cerr << '\n';

using namespace std;
using ll = long long;

bool test_cases = 0;
void solve(){
    ll n, m, ans = 0;
    cin >> n >> m;
    vector<set<ll>> arr;
    arr.assign(n, set<ll>());
    for(int i = 0; i < m; i++){
        int a, b;
        cin >> a >> b;
        a--, b--;
        arr[a].insert(b);
    }
    for(int i = 0; i < n; i++){
        ans += arr[i].size();
        if(arr[i].empty()) continue;
        int x = *arr[i].begin();
        arr[i].erase(*arr[i].begin());
        if(arr[i].size() > arr[x].size()){
            swap(arr[i], arr[x]);
        }
        for(auto &j : arr[i]){
            arr[x].insert(j);
        }
    }
    cout << ans;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    if(test_cases){
        int t;
        cin >> t;
        for(int i = 0; i < t; i++){
            solve();
        }
        return 0;
    }
    solve();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...