Submission #1026494

#TimeUsernameProblemLanguageResultExecution timeMemory
1026494mansurJobs (BOI24_jobs)C++17
0 / 100
81 ms49236 KiB
#include<bits/stdc++.h> using namespace std; #define rall(s) s.rbegin(), s.rend() #define all(s) s.begin(), s.end() #define sz(s) (int)s.size() #define s second #define f first using ll = long long; using pii = pair<int, int>; using pll = pair<ll, ll>; const int N = 1e6; const ll inf = 1e18; vector<int> g[N]; ll dp[N], x[N], p[N]; void dfs(int u) { dp[u] = x[u]; for (int to: g[u]) { dfs(to); dp[u] += dp[to]; } dp[u] = max(dp[u], 0ll); } void solve() { int n; ll s; cin >> n >> s; for (int i = 1; i <= n; i++) { cin >> x[i] >> p[i]; g[p[i]].push_back(i); } x[0] = 0; dfs(0); cout << dp[0] + s; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...