Submission #965336

# Submission time Handle Problem Language Result Execution time Memory
965336 2024-04-18T10:52:01 Z MisterReaper Harbingers (CEOI09_harbingers) C++17
0 / 100
3 ms 4956 KB
#include <bits/stdc++.h>
using i64 = long long;

constexpr int maxN = 1E5 + 5;
constexpr i64 INF = 1E18;

int N;
std::vector<std::pair<int, int>> adj[maxN];
int S[maxN], V[maxN], par[maxN], w[maxN];
i64 dp[maxN];

void dfs(int v) {
    i64 d = 0;
    int u = v;
    while(u != 1) {
        d += w[u];
        u = par[u];
        dp[v] = std::min(dp[v], dp[u] + 1LL * d * V[v] + S[v]);
    }
    for(auto [u, w] : adj[v]) {
        if(u == par[v]) {
            continue;
        }
        ::w[u] = w;
        par[u] = v;
        dfs(u);
    }
}

signed main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    #ifndef LOCAL
        freopen("harbingers.in", "r", stdin);
        freopen("harbingers.out", "w", stdout);
    #endif

    std::cin >> N;
    for(int i = 1; i <= N - 1; i++) {
        int A, B, W;
        std::cin >> A >> B >> W;
        adj[A].emplace_back(B, W);
        adj[B].emplace_back(A, W);
    }

    for(int i = 2; i <= N; i++) {
        std::cin >> S[i] >> V[i];
    }

    std::fill_n(&dp[1], N, INF);
    dp[1] = 0;
    par[1] = 1;
    dfs(1);

    for(int i = 2; i <= N; i++) {
        std::cout << dp[i] << " \n"[i == N];
    }

    return 0;
}

Compilation message

harbingers.cpp: In function 'int main()':
harbingers.cpp:35:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |         freopen("harbingers.in", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
harbingers.cpp:36:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |         freopen("harbingers.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 4956 KB Output isn't correct
2 Incorrect 3 ms 4956 KB Output isn't correct
3 Incorrect 3 ms 4956 KB Output isn't correct
4 Incorrect 2 ms 4956 KB Output isn't correct
5 Incorrect 3 ms 4956 KB Output isn't correct
6 Incorrect 2 ms 4956 KB Output isn't correct
7 Incorrect 2 ms 4956 KB Output isn't correct
8 Incorrect 2 ms 4956 KB Output isn't correct
9 Incorrect 2 ms 4956 KB Output isn't correct
10 Incorrect 3 ms 4956 KB Output isn't correct