Submission #563037

# Submission time Handle Problem Language Result Execution time Memory
563037 2022-05-16T06:08:08 Z Devigo Road Closures (APIO21_roads) C++14
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;

const int siz = 1e5+1;
bool done = 0;

long long cost = 0;

vector<bool> rem(siz,0);

struct edge {
	long long w, x, y;
};

bool cmp (edge a, edge b) {
	return a.w < b.w;
}

void get(int k, vector<int> &degree, vector<edge> &el, int n, int m) {
	for(int i=0; i<m; i++) {
		if(rem[i]) continue;
		bool isb = 0;
		int u = degree[el[i].x]; int v = degree[el[i].y];
		if(u > k || v > k) isb = 1;
		if(isb) {
			degree[el[i].x]--; degree[el[i].y]--;
			rem[i] = 1;
			cost += el[i].w;
		}
		int grt = -1;
		for(int j=0; j<n; j++) {
			grt = max(grt,degree[j]);
		}
		if(grt <= k) {
			done = 1; return;
		}
	}
	return;
}

vector<long long> minimum_closure_costs(int n, vector<int> &u, vector<int> &v, vector<int> &w) {
	vector<int> degree(n,0);
	vector<edge> el;
	int m = n-1;
	for(int i=0; i<m; i++) {
		degree[u[i]]++;
		degree[v[i]]++;
		el.push_back({w[i],u[i],v[i]});
	}
	sort(el.begin(), el.end(), cmp);
	vector<long long> c(n); 
	for(int i=m; i>=0; i--) {
		while(!done) {
			get(i,degree,el,n,m);
		}
		c[i] = cost;
		done = 0;
	}
	return c;
}

Compilation message

/usr/bin/ld: /tmp/cc3xP8wt.o: in function `main':
grader.cpp:(.text.startup+0x26f): undefined reference to `minimum_closure_costs(int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status