Submission #679426

#TimeUsernameProblemLanguageResultExecution timeMemory
679426WarinchaiAutići (COCI22_autici)C++14
20 / 50
1087 ms2268 KiB
#include<bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin>>n; int ar[n+5]={}; int mx[n+5]={}; for(int i=0;i<n;i++){ cin>>ar[i]; } priority_queue<pair<int,int> ,vector<pair<int,int> >,greater<pair<int,int> > >pq; for(int i=1;i<n;i++){ pq.push({ar[0]+ar[i],i}); mx[i]=ar[0]+ar[i]; } int vis[n+5]={}; long long ans=0; int i=n-1; while(i){ int a=pq.top().first; int b=pq.top().second; pq.pop(); if(vis[b]==0){ i--; //cout<<b<<" "<<a<<" "<<i<<endl; ans+=a; vis[b]=1; for(int j=0;j<n;j++){ if(vis[j]==0){ if(ar[b]+ar[j]<mx[j]){ mx[j]=ar[b]+ar[j]; pq.push({mx[j],j}); } } } } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...