# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1026687 | vjudge1 | Sirni (COCI17_sirni) | C++17 | 670 ms | 786432 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
bool cmp(int a, int b)
{
return a>b;
}
vector<int>p, sz;
void make_set(int n)
{
p.resize(n);
sz.resize(n);
for(int i=0; i<n; i++)
{
p[i]=i;
sz[i]=1;
}
}
int Find(int i)
{
if(p[i]==i)
return i;
return p[i]=Find(p[i]);
}
bool Union(int a, int b)
{
a=Find(a), b=Find(b);
if(a!=b)
{
if(sz[a]>sz[b])
swap(a, b);
p[a]=b;
sz[b]+=sz[a];
return 1;
}
return 0;
}
int main()
{
int n;
cin>>n;
make_set(n);
long long int a[n];
long long rez=0;
vector<pair<int, pair<int, int>>>v;
for(int i=0; i<n; i++)
{
cin>>a[i];
}
sort(a, a+n, cmp);
for(int i=0; i<n; i++)
{
for(int j=i+1; j<n; j++)
{
v.push_back(make_pair(a[i]%a[j], make_pair(i, j)));
}
}
sort(v.begin(), v.end());
int edges=0;
for(int i=0; i<v.size(); i++)
{
if(edges==n-1)
break;
if(Union(v[i].second.first, v[i].second.second))
{
rez+=v[i].first;
edges++;
}
}
cout<<rez;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |