제출 #607313

#제출 시각아이디문제언어결과실행 시간메모리
607313MohamedFaresNebili친구 (IOI14_friend)C++14
16 / 100
1 ms340 KiB
#include <bits/stdc++.h>
/// #pragma GCC optimize ("Ofast")
/// #pragma GCC target ("avx2")
/// #pragma GCC optimize("unroll-loops")

            using namespace std;

            using ll = long long;
            using ld = long double;

            #define ff first
            #define ss second
            #define pb push_back
            #define all(x) (x).begin(), (x).end()
            #define lb lower_bound

            const int MOD = 998244353;

            int par[1001], res[1001];
            int findSet(int v) {
                if(par[v] == v) return v;
                return par[v] = findSet(par[v]);
            }
            void unionSet(int u, int v) {
                u = findSet(u), v = findSet(v);
                if(u == v) return;
                par[u] = v; res[v] = max(res[v], res[u]);
            }

            int findSample(int N, int* confidence,
                          int* host, int* protocol) {
                for(int l = 0; l < N; l++)
                    par[l] = l, res[l] = confidence[l];
                for(int l = 1; l < N; l++) {
                    if(protocol[l] < 2) continue;
                    unionSet(l, host[l]);
                }
                int ans = 0;
                for(int l = 0; l < N; l++) {
                    if(par[l] != l) continue;
                    ans += res[l];
                }
                return ans;
            }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...