Submission #661286

#TimeUsernameProblemLanguageResultExecution timeMemory
661286KenparSjekira (COCI20_sjekira)C++17
40 / 110
1086 ms12188 KiB
#include "bits/stdc++.h" using namespace std; #define ll long long #define endl '\n' const ll MOD = 1e9+7; const ll INF = 1e16; const ll MAX = 1e5; vector<vector<int>> edges(MAX); vector<int> weight(MAX); vector<bool> visited(MAX, false); int DFS(int cur){ if(visited[cur]) return 0; visited[cur] = true; int ma = weight[cur]; for(int a : edges[cur]){ ma = max(ma, DFS(a)); } return ma; } void solve(){ int n; cin>>n; vector<pair<int,int>> sorted(n); for(int i = 0; i < n; i++){ cin>>weight[i]; sorted[i] = {weight[i], i}; } sort(sorted.begin(), sorted.end(), greater<pair<int,int>>()); for(int i = 0; i < n-1; i++){ int a,b; cin>>a>>b; a--,b--; edges[a].push_back(b); edges[b].push_back(a); } ll ans = 0; for(pair<int,int> zort : sorted){ int cur = zort.second; visited[cur] = true; vector<bool> temp = visited; for(int tar : edges[cur]){ int zz = DFS(tar); if(zz == 0) continue; ans+= zort.first + zz; visited = temp; } } cout<<ans; } int main() { cin.tie(NULL); ios::sync_with_stdio(NULL); int t = 1; //cin>>t; int sorted = t; while(t--){ //cout<<"Case #"<<sorted - t<<" > "<<endl; solve(); cout<<endl; } cout.flush(); }

Compilation message (stderr)

sjekira.cpp: In function 'int main()':
sjekira.cpp:72:9: warning: unused variable 'sorted' [-Wunused-variable]
   72 |     int sorted = t;
      |         ^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...