Submission #702718

# Submission time Handle Problem Language Result Execution time Memory
702718 2023-02-24T21:51:25 Z TimDee Paths (RMI21_paths) C++17
56 / 100
221 ms 22148 KB
#include <bits/stdc++.h>
using namespace std;
 
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx2,popcnt")

using ll = long long;
#define int long long
#define forn(i,n) for(int i=0; i<(n); ++i)
#define pb push_back
#define pi pair<int,int>
#define f first
#define s second
#define vii(a,n) vector<int> a(n); forn(i,n) cin>>a[i];
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const int inf = INT_MAX;
const int mod = 998244353;

int n=2e3,k;
vector<vector<pi>> adj(n);
vector<vector<ll>> ans(n);
vector<int> mx(n,-1);

vector<int> d(n,0);
vector<int> paiuans(n,0);
void paiu() {

}

void dfs(int u,int p) {
	int m=-1;
	for(auto&e:adj[u]) {
		int v=e.f,w=e.s;
		if (v==p) continue;
		dfs(v,u);
		if (ans[u].size()<ans[v].size()) swap(ans[u],ans[v]);
		if (mx[v]+w>m) {
			if (m!=-1) ans[u].pb(m);
			m=mx[v]+w;
		} else {
			ans[u].pb(mx[v]+w);
		}
		for(auto&x:ans[v]) ans[u].pb(x);
	}
	mx[u]=max(m,0ll);
}

void solve() {

	cin>>n>>k;
	forn(i,n-1) {
		int u,v,w; cin>>u>>v>>w; --u, --v;
		adj[u].pb({v,w});
		adj[v].pb({u,w});
	}
	if (k==1) paiu();
	forn(u,n) {
		forn(i,n) ans[i].clear();
		mx.assign(n,-1);
		dfs(u,-1);
		ll answer=mx[u];
		sort(rall(ans[u]));

		forn(i,min(k-1,(int)ans[u].size())) {
			answer+=ans[u][i];
		}
		cout<<answer<<'\n';
	}

}

int32_t main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int t=1;
    //cin>>t;
    while (t--) solve();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 2 ms 596 KB Output is correct
4 Correct 2 ms 596 KB Output is correct
5 Correct 2 ms 596 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 2 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 2 ms 596 KB Output is correct
4 Correct 2 ms 596 KB Output is correct
5 Correct 2 ms 596 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 2 ms 596 KB Output is correct
8 Correct 50 ms 3548 KB Output is correct
9 Correct 42 ms 3660 KB Output is correct
10 Correct 27 ms 1200 KB Output is correct
11 Correct 48 ms 6756 KB Output is correct
12 Correct 30 ms 1872 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 2 ms 596 KB Output is correct
4 Correct 2 ms 596 KB Output is correct
5 Correct 2 ms 596 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 2 ms 596 KB Output is correct
8 Correct 50 ms 3548 KB Output is correct
9 Correct 42 ms 3660 KB Output is correct
10 Correct 27 ms 1200 KB Output is correct
11 Correct 48 ms 6756 KB Output is correct
12 Correct 30 ms 1872 KB Output is correct
13 Correct 221 ms 18848 KB Output is correct
14 Correct 187 ms 12744 KB Output is correct
15 Correct 116 ms 1972 KB Output is correct
16 Correct 206 ms 22148 KB Output is correct
17 Correct 150 ms 6420 KB Output is correct
18 Correct 117 ms 9964 KB Output is correct
19 Correct 217 ms 12784 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 680 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 2 ms 596 KB Output is correct
4 Correct 2 ms 596 KB Output is correct
5 Correct 2 ms 596 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 2 ms 596 KB Output is correct
8 Correct 50 ms 3548 KB Output is correct
9 Correct 42 ms 3660 KB Output is correct
10 Correct 27 ms 1200 KB Output is correct
11 Correct 48 ms 6756 KB Output is correct
12 Correct 30 ms 1872 KB Output is correct
13 Correct 221 ms 18848 KB Output is correct
14 Correct 187 ms 12744 KB Output is correct
15 Correct 116 ms 1972 KB Output is correct
16 Correct 206 ms 22148 KB Output is correct
17 Correct 150 ms 6420 KB Output is correct
18 Correct 117 ms 9964 KB Output is correct
19 Correct 217 ms 12784 KB Output is correct
20 Runtime error 1 ms 680 KB Execution killed with signal 11
21 Halted 0 ms 0 KB -