Submission #400401

# Submission time Handle Problem Language Result Execution time Memory
400401 2021-05-07T23:06:14 Z fadi57 Sjekira (COCI20_sjekira) C++14
10 / 110
67 ms 468 KB
#include<bits/stdc++.h>
using namespace std;
const int mxx=300+10;
typedef long long ll;
int inf=1e9+10;
const int mod=1e9+7;
int a[mxx];
ll ans=0;

pair<int,int>edge[mxx];
int n;int par[mxx];
int mx[mxx];
int siz[mxx];
vector<int>adj[mxx];
void init(){
for(int i=0;i<n;i++){

    par[i]=i;
    mx[i]=a[i];
    siz[i]=1;
}

}
int fin(int node){

if(par[node]!=node){

    return par[node]=fin(par[node]);
}else{
return node;

}


}
void unit(int a,int b){

int aa=fin(a);
int bb=fin(b);
if(siz[a]>siz[b]){
    swap(a,b);
}

if(aa==bb){
    return;
}
par[aa]=bb;
ans+=(mx[aa]+mx[bb]);
mx[bb]=max(mx[bb],mx[aa]);
return;



 }
int main(){




cin>>n;
for(int i=0;i<n;i++){
    cin>>a[i];
}
vector<int>v;
for(int i=0;i<n-1;i++){
    int x,y;
    cin>>x>>y;
    x--;y--;
    adj[x].push_back(y);
    adj[y].push_back(x);
    edge[i]={x,y};
    v.push_back(i);
}
if(n==1){cout<<0;return 0;}
init();
ll ans2=inf;
//cout<<fin(2);
unit(1,2);
//cout<<fin(2);
int c=-1;
while(next_permutation(v.begin(),v.end())){
ans=0;
 init();
for(int i=v.size()-1;i>=0;i--){

   unit(edge[v[i]].first,edge[v[i]].second);
}
if(c==-1){
    c=1;
    ans2=ans;
}else{
    
ans2=min(ans2,ans);}

 }
 cout<<ans2;

}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 67 ms 300 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 2 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 67 ms 300 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Runtime error 2 ms 468 KB Execution killed with signal 11
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 67 ms 300 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Runtime error 2 ms 336 KB Execution killed with signal 11
7 Halted 0 ms 0 KB -