Submission #876403

#TimeUsernameProblemLanguageResultExecution timeMemory
876403dilanyanBiochips (IZhO12_biochips)C++17
60 / 100
2079 ms303940 KiB
//-------------dilanyan------------\\ #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc++.h> #include<stdio.h> using namespace std; //------------------KarginDefines--------------------\\ #define ll long long #define pb push_back #define all(u) (u).begin(), (u).end() #define pqueue priority_queue #define upper upper_bound #define lower lower_bound #define umap unordered_map #define uset unordered_set #define Kargin ios_base::sync_with_stdio(false);cin.tie(NULL); #define Usaco freopen(".in", "r", stdin); freopen(".out", "w", stdout); //-------------------KarginConstants------------------\\ const int mod = 1000000007; const ll inf = 2e9; //-------------------KarginCode------------------------\\ const int N = 300005; int c[N], dp[N][505], s[N]; vector<int> g[N]; int n, m; void dfs(int u) { s[u] = g[u].empty(); for (int v : g[u]) { dfs(v); s[u] += s[v]; for (int i = min(m, s[u]);i >= 0;--i) { for (int j = 0;j <= min(m - i, s[u] - i);++j) { dp[u][i + j] = max(dp[u][i + j], dp[u][i] + dp[v][j]); } } } dp[u][1] = max(dp[u][1], c[u]); } void KarginSolve() { cin >> n >> m; int root = 0; for (int i = 1; i <= n;++i) { int p; cin >> p >> c[i]; if (p == 0) root = i; else g[p].pb(i); } dfs(root); cout << dp[root][m] << '\n'; } int main() { //Usaco Kargin; int test = 1; //cin >> test; while (test--) { KarginSolve(); } return 0; }

Compilation message (stderr)

biochips.cpp:1:1: warning: multi-line comment [-Wcomment]
    1 | //-------------dilanyan------------\\
      | ^
biochips.cpp:8:1: warning: multi-line comment [-Wcomment]
    8 | //------------------KarginDefines--------------------\\
      | ^
biochips.cpp:22:1: warning: multi-line comment [-Wcomment]
   22 | //-------------------KarginConstants------------------\\
      | ^
biochips.cpp:27:1: warning: multi-line comment [-Wcomment]
   27 | //-------------------KarginCode------------------------\\
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...