답안 #537671

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
537671 2022-03-15T11:11:43 Z siewjh Paths (RMI21_paths) C++17
19 / 100
600 ms 6488 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++)
            for (int j = i; j <= mch; j++)
                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 Correct 1 ms 1236 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1236 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
3 Correct 11 ms 1236 KB Output is correct
4 Correct 16 ms 1876 KB Output is correct
5 Correct 13 ms 1260 KB Output is correct
6 Correct 9 ms 1620 KB Output is correct
7 Correct 11 ms 1364 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1236 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
3 Correct 11 ms 1236 KB Output is correct
4 Correct 16 ms 1876 KB Output is correct
5 Correct 13 ms 1260 KB Output is correct
6 Correct 9 ms 1620 KB Output is correct
7 Correct 11 ms 1364 KB Output is correct
8 Correct 540 ms 1420 KB Output is correct
9 Execution timed out 1087 ms 6488 KB Time limit exceeded
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1236 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
3 Correct 11 ms 1236 KB Output is correct
4 Correct 16 ms 1876 KB Output is correct
5 Correct 13 ms 1260 KB Output is correct
6 Correct 9 ms 1620 KB Output is correct
7 Correct 11 ms 1364 KB Output is correct
8 Correct 540 ms 1420 KB Output is correct
9 Execution timed out 1087 ms 6488 KB Time limit exceeded
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 468 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1236 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
3 Correct 11 ms 1236 KB Output is correct
4 Correct 16 ms 1876 KB Output is correct
5 Correct 13 ms 1260 KB Output is correct
6 Correct 9 ms 1620 KB Output is correct
7 Correct 11 ms 1364 KB Output is correct
8 Correct 540 ms 1420 KB Output is correct
9 Execution timed out 1087 ms 6488 KB Time limit exceeded
10 Halted 0 ms 0 KB -