Submission #297266

#TimeUsernameProblemLanguageResultExecution timeMemory
297266junseoBiochips (IZhO12_biochips)C++17
100 / 100
566 ms411960 KiB
#include <bits/stdc++.h> #define eb emplace_back #define fi first #define se second #define all(v) v.begin(), v.end() #define ends ' ' #define endl '\n' #define fastio ios_base::sync_with_stdio(0), cin.tie(0) using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int maxn = 2e5 + 10; const int maxm = 505; int n, m, T = 0; int p[maxn], t[maxn], d[maxn][maxm]; vector<int> root, adj[maxn]; vector<pii> v[maxn]; inline void rmax(int& r, int x) { r = max(r, x); } void dfs(int u) { int in = ++T; for(auto v : adj[u]) dfs(v); int out = T; v[out].eb(in, t[u]); } int main(void) { fastio; cin >> n >> m; int rootCnt = 0; for(int i = 1; i <= n; ++i) { cin >> p[i] >> t[i]; if(p[i] == 0) rootCnt = 0; if(!p[i]) root.eb(i); else adj[p[i]].eb(i); } // assert(rootCnt == 1); // assert(root.size() == 1); for(auto& r : root) dfs(r); for(int i = 1; i <= m; ++i) d[0][i] = INT_MIN; for(int i = 1; i <= n; ++i) { for(int j = 0; j <= m; ++j) d[i][j] = d[i - 1][j]; for(int j = 1; j <= m; ++j) { for(auto [l, w] : v[i]) rmax(d[i][j], d[l - 1][j - 1] + w); } } cout << d[n][m]; return 0; }

Compilation message (stderr)

biochips.cpp: In function 'int main()':
biochips.cpp:34:9: warning: variable 'rootCnt' set but not used [-Wunused-but-set-variable]
   34 |     int rootCnt = 0;
      |         ^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...