제출 #1190882

#제출 시각아이디문제언어결과실행 시간메모리
1190882vusalSirni (COCI17_sirni)C++20
0 / 140
1059 ms851968 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int oo = 1e18; const int MAXN = 1e3 + 7; const int MAXH = 1e2 + 4; vector<int>par(MAXN, -1), sz(MAXN, 1); int getl(int x) { if(par[x] == -1) return x; return par[x] = getl(par[x]); } bool unite(int a, int b) { a = getl(a); b = getl(b); if(a == b) return false; if(sz[a] > sz[b]) swap(a, b); sz[b] += sz[a]; par[a] = b; return true; } void _() { int n; cin >> n; vector<int>v(n); for(int &i : v) cin >> i; vector<array<int,3>>q; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { q.push_back({min(v[i] % v[j], v[j] % v[i]), v[i], v[j]}); } } sort(q.begin(), q.end()); int sum = 0; for(auto [w, u, v] : q) { if(unite(u, v)) { sum += w; } } cout << sum << endl; } signed main() { int tt = 1; // cin >> tt; while(tt--) _(); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...