Submission #1272179

#TimeUsernameProblemLanguageResultExecution timeMemory
1272179hi_samJobs (BOI24_jobs)C++20
0 / 100
87 ms17776 KiB
#include <bits/stdc++.h> #define int long long #define vi vector<int> #define vs vector<string> #define vc vector<char> #define vii vector<vi> #define fi first #define pii pair<int, int> #define se second #define mp make_pair #define all(v) v.begin(), v.end() #define pqi priority_queue<int> #define pb push_back int dx[4] = {-1, 0, 1, 0}; int dy[4] = {0, -1, 0, 1}; const int mod = 998244353; using namespace std; int n, s; vii adj; vi v; int f(int cur) { int sum = v[cur]; for(auto i : adj[cur]) { int temp = f(i); if(temp > 0) sum += temp; } return sum; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); while(cin >> n >> s) { adj.clear(); adj.resize(n); v.clear(); v.resize(n); queue<int> q; for(int i = 0; i < n; i++) { int x, p; cin >> x >> p; v[i] = x; if(p > 0) { p--; adj[p].push_back(i); } else q.push(i); } while(!q.empty()) { int sum = f(q.front()); q.pop(); if(sum > 0) s += sum; } cout << s << endl; } }
#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...