Submission #673379

# Submission time Handle Problem Language Result Execution time Memory
673379 2022-12-20T12:52:12 Z smartmonky Biochips (IZhO12_biochips) C++14
60 / 100
2000 ms 70436 KB
#include <bits/stdc++.h>

#define ff first
#define ss second
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define int long long

using namespace std;

void fp(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);}
const int N = 200005;
vector <int> g[N];
int coast[N], dp[505][N];
int m;
void dfs(int v){
	for(auto to : g[v]){
		dfs(to);
		for(int i = m; i >= 0; i--){
			for(int j = m - i; j >= 0; j--){
				if(i + j <= m)
				dp[i + j][v] = max(dp[i][v] + dp[j][to], dp[i + j][v]);
			}
		}
	}
	dp[1][v] = max(dp[1][v], coast[v]);
}
main(){
	ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
	//fp("game");
	int n;
	cin >> n >> m;
	int ind = -1;
	for(int i = 0; i < n; i++){
		int a, b;
		cin >> a >> b;
		coast[i + 1] = b;
		if(a == 0){
			ind = i + 1;
			continue;
		}
		g[a].pb(i + 1);
	}
	dfs(ind);
	cout << dp[m][ind];
}

Compilation message

biochips.cpp:29:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   29 | main(){
      | ^~~~
biochips.cpp: In function 'void fp(std::string)':
biochips.cpp:12:29: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 | void fp(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);}
      |                      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
biochips.cpp:12:70: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 | void fp(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);}
      |                                                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 4948 KB Output is correct
2 Correct 3 ms 4948 KB Output is correct
3 Correct 3 ms 5076 KB Output is correct
4 Correct 34 ms 9900 KB Output is correct
5 Correct 81 ms 11816 KB Output is correct
6 Correct 126 ms 13756 KB Output is correct
7 Execution timed out 2084 ms 70436 KB Time limit exceeded
8 Execution timed out 2072 ms 64452 KB Time limit exceeded
9 Execution timed out 2076 ms 12532 KB Time limit exceeded
10 Execution timed out 2084 ms 13288 KB Time limit exceeded