Submission #488936

# Submission time Handle Problem Language Result Execution time Memory
488936 2021-11-20T20:01:34 Z cfalas Road Closures (APIO21_roads) C++14
0 / 100
230 ms 21660 KB
#include "roads.h"
#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define INF 10000000
#define MOD 1000000007
#define MID ((l+r)/2)
#define HASHMOD 2305843009213693951
#define ll long long
#define ull unsigned long long
#define F first
#define S second
typedef pair<ll, ll> ii;
typedef pair<ii, int> iii;
typedef vector<ll> vi;
typedef vector<ii> vii;
typedef map<int, int> mii;

#define EPS 1e-6
#define FOR(i,n) for(int i=0;i<((int)(n));i++)
#define FORi(i,a,b) for(int i=((int)(a));i<((int)(b));i++)
#define FOA(v, a) for(auto v : a)

int t, n;
vi a, b;

vector<vii> adj;

int k;
int mem[10000][2];
ll dfs(int s, int p=-1, int cp=0){
	if(mem[s][cp]!=-1) return mem[s][cp];
	vi al;
	ll fix = 0;
	int ss = k;
	if(cp) ss--;
	FOA(v,adj[s]){
		if(v.F!=p){
			fix += dfs(v.F, s, 0) + v.S;
			al.push_back(dfs(v.F, s, 1) - v.S - dfs(v.F, s, 0));
		}
	}
	//cout<<k<<" "<<s<<" "<<fix<<" "<<cp<<endl;
	sort(al.begin(), al.end());
	FOR(i, min((int)al.size(), ss)) fix += al[i];
	mem[s][cp] = fix;
	return fix;
}

std::vector<long long> minimum_closure_costs(int N, std::vector<int> U,
                                             std::vector<int> V,
                                             std::vector<int> W) {
	n = N;
	adj.assign(n+1, vii());
	FOR(i,N-1){
		adj[U[i]].push_back({V[i], W[i]});
		adj[V[i]].push_back({U[i], W[i]});
	}
	a.resize(n);
	FOR(i,n){
		FOR(j,n) mem[j][0] = mem[j][1] = -1;
		k = i;
		a[i] = dfs(0);
	}
	return a;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 190 ms 516 KB Output is correct
3 Correct 230 ms 532 KB Output is correct
4 Correct 114 ms 544 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 2 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 115 ms 496 KB Output is correct
9 Correct 150 ms 528 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 2 ms 204 KB Output is correct
12 Runtime error 22 ms 12908 KB Execution killed with signal 11
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Runtime error 37 ms 17672 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Incorrect 2 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Incorrect 2 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 46 ms 21660 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 46 ms 21660 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 190 ms 516 KB Output is correct
3 Correct 230 ms 532 KB Output is correct
4 Correct 114 ms 544 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 2 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 115 ms 496 KB Output is correct
9 Correct 150 ms 528 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 2 ms 204 KB Output is correct
12 Runtime error 22 ms 12908 KB Execution killed with signal 11
13 Halted 0 ms 0 KB -