답안 #537674

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
537674 2022-03-15T11:14:44 Z siewjh Paths (RMI21_paths) C++17
0 / 100
2 ms 1236 KB
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1005;
typedef long long ll;
vector<pair<int, ll>> adjlist[1005];
ll dp[1005][105];
int nodes, choose;
int dfs(int x, int par){
    int leaf = 0;
    dp[x][0] = 0;
    for (auto nxt : adjlist[x]){
        int nn = nxt.first;
        if (nn == par) continue;
        leaf += dfs(nn, x);
    }
    for (auto nxt : adjlist[x]){
        int nn = nxt.first; ll nd = nxt.second;
        if (nn == par) continue;
        ll dph[1005];
        int mch = min(leaf, choose);
        for (int i = 0; i <= mch; i++) dph[i] = dp[x][i];
        for (int i = 1; i <= mch; i++){
            if (dp[nn][i] == -1) break;
            for (int j = i; j <= mch; j++){
                if (dp[x][j - 1] == -1) break;
                dph[j] = max(dph[j], dp[nn][i] + dp[x][j - i] + nd);
            }
        }
        for (int i = 0; i <= mch; i++) dp[x][i] = dph[i];
    }
    if (leaf == 0) {
        leaf = 1;
        dp[x][1] = 0;
    }
    return leaf;
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    cin >> nodes >> choose;
    for (int i = 1; i < nodes; i++){
        int a, b; ll c; cin >> a >> b >> c;
        adjlist[a].push_back({b, c});
        adjlist[b].push_back({a, c});
    }
    for (int i = 1; i <= nodes; i++){
        memset(dp, -1, sizeof(dp));
        dfs(i, -1);
        cout << dp[i][choose] << '\n';
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1236 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1236 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1236 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1236 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 468 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1236 KB Output isn't correct
2 Halted 0 ms 0 KB -