Submission #494922

#TimeUsernameProblemLanguageResultExecution timeMemory
494922YJUMagic Tree (CEOI19_magictree)C++14
6 / 100
536 ms8288 KiB
#include<bits/stdc++.h>
#pragma GCC optimize("unroll-loops, no-stack-protector, Ofast")
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pll;
typedef long double ld;
const ll INF = (1LL<<60);
const ll N = 1e3 + 5;
const ll MOD = 1e9 + 7;
const ld pi = acos(-1);
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define lwb lower_bound
#define SZ(_a) (ll)_a.size()
#define setp setprecision

ll dp[N][N], d[N], w[N], n, m, t;
vector<ll> v[N];

void DFS(ll now) {
	for (ll to : v[now]) {
		DFS(to);
	}
	for (ll j = 0;j <= t; ++j) {
		dp[now][j] = (j == d[now] ? w[now] : 0);
		for (ll to : v[now]) {
			ll ma = 0;
			for (ll k = 0;k <= j; ++k) {
				ma = max(ma, dp[to][k]);
			}
			dp[now][j] += ma;
		}
	}
}


int main () {
	ios_base::sync_with_stdio(0);
	cin >> n >> m >> t;
	for (ll i = 2, x;i <= n; ++i) {
		cin >> x;
		v[x].pb(i);
	}
	for (ll i = 0, x;i < m; ++i) {
		cin >> x;
		cin >> d[x] >> w[x];
	}
	DFS(1);
	cout << dp[1][t] << "\n";
	return 0;
}

Compilation message (stderr)

magictree.cpp:2:63: warning: bad option '-f no-stack-protector' to pragma 'optimize' [-Wpragmas]
    2 | #pragma GCC optimize("unroll-loops, no-stack-protector, Ofast")
      |                                                               ^
magictree.cpp:2:63: warning: bad option '-f Ofast' to pragma 'optimize' [-Wpragmas]
magictree.cpp:22:16: warning: bad option '-f no-stack-protector' to attribute 'optimize' [-Wattributes]
   22 | void DFS(ll now) {
      |                ^
magictree.cpp:22:16: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
magictree.cpp:39:11: warning: bad option '-f no-stack-protector' to attribute 'optimize' [-Wattributes]
   39 | int main () {
      |           ^
magictree.cpp:39:11: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...