# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
563769 | pvpwarrior | Road Closures (APIO21_roads) | C++14 | 2057 ms | 21192 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 "roads.h"
#include <bits/stdc++.h>
using namespace std;
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define vi std::vector<ll>
#define si set<ll>
#define INF 100000000
#define pb push_back
#define mod 1000000007
std::vector<long long> minimum_closure_costs(int N, std::vector<int> U,
std::vector<int> V,
std::vector<int> W) {
ll n = N;
set<pair < ll, ll > > adj[n];
// for (int i = 0; i < n-1; ++i){
// cin >> u[i] >> v[i] >> w[i];
// }
// for (int i = 0; i < n; ++i){
// cin >> v[i];
// }
// for (int i = 0; i < n; ++i){
// cin >> w[i];
// }
for (int i = 0; i < n-1; ++i){
adj[V[i]].insert(make_pair(W[i] , U[i]));
adj[U[i]].insert(make_pair(W[i] , V[i]));
}
// for (int i = 0; i < n; ++i)
// {
// cout << i << ": ";
// for(auto x: adj[i]){
// cout << "(" << x.first << ", " << x.second << "), ";
// }
// cout << "\n";
// }
vi ans(n,0);
ll sum = 0;
for (int k = n-1; k >= 0; k--){
sum = 0;
// cout << k << " :\n";
for (int i = 0; i < n; ++i){
while(adj[i].size() > k){
auto it = adj[i].begin();
pair <ll ,ll > x = *it;
sum += x.first;
ll in = x.second;
auto it2 = adj[in].find(make_pair(x.first, i));
pair <ll ,ll > y = *it2;
adj[x.second].erase(it2);
// return 0;
// cout << x.first << " " << x.second << "\n";
// cout << y.first << " " << y.second << "\n";
adj[i].erase(it);
// cout << "\n";
}
// cout << "\n";
}
// cout << "\n";
if(n-1-k) ans[n-1-k]=ans[n-k-2];
ans[n-1-k] += sum;
}
// for (int i = n-1; i >= 0; i--){
// cout << ans[i] << " ";
// }
return ans;
}
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... |