/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 3ms 2.812 MiB
#2 Accepted 3ms 2.77 MiB
#3 Accepted 10ms 2.77 MiB
#4 Accepted 10ms 2.832 MiB
#5 Accepted 10ms 2.723 MiB
#6 Wrong Answer 10ms 2.816 MiB
#7 Accepted 10ms 2.77 MiB
#8 Wrong Answer 10ms 2.77 MiB

Code

#include <bits/stdc++.h>
using namespace std;

const int MAXN = 1e5;
const int MAXK = 300;
const long long INF = 1e18;

int A[MAXN + 5];
long long dp[MAXN + 5][MAXK + 2], down[MAXN + 5][MAXK + 2];

vector<int> X[MAXN + 5];

void dfs(int u, int par, int k)
{
    down[u][1] = dp[u][1] = A[u];
    
    for (int i = 2; i <= k; i++)
        dp[u][i] = down[u][i] = -INF;
    
    int a = -1, b = -1;
    
    for (int v: X[u])
        if (v != par)
        {
            dfs(v, u, k);
            
            if (a == -1)
                a = v;
            else
                b = v;
            
            for (int i = 1; i <= k; i++)
            {
                dp[u][i] = max(dp[u][i], dp[v][i]);
                down[u][i] = max(down[u][i], down[v][i - 1] + A[u]);
            }
        }
    
    for (int i = 1; i <= k; i++)
    {
        dp[u][i] = max(dp[u][i], down[u][i]);
    
        if (b != -1)
        {
            for (int j = 1; j <= i - j - 1; j++)
                dp[u][i] = max(dp[u][i], down[a][j] + down[b][i - j - 1] + A[u]);
        }
        
        if (dp[u][i] < 0)
            dp[u][i] = -INF;
    }
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(NULL), cout.tie(NULL);
    
    int n, k;
    cin >> n >> k;
    
    for (int i = 1; i <= n; i++)
        cin >> A[i];
    
    for (int i = 1; i <= n - 1; i++)
    {
        int u, v;
        cin >> u >> v;
        
        X[u].push_back(v);
        X[v].push_back(u);
    }
    
    dfs(1, 0, k);
    long long res = max(0LL, dp[1][k]);
    
    cout << res << "\n";
    
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1160 Max path sum (Easy Version)
Contest
Brain Booster #8
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-17 16:48:17
Judged At
2025-02-17 16:48:17
Judged By
Score
12
Total Time
10ms
Peak Memory
2.832 MiB