답안 #45148

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
45148 2018-04-11T14:22:14 Z erdemkiraz Fireworks (APIO16_fireworks) C++11
19 / 100
297 ms 1468 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair < int, int > ii;

const int N = 600 + 5;

int n, m;
vector < ii > v[N];
int dp[N][N], dp2[N];

void dfs(int x) {
	for(auto u : v[x])
		dfs(u.first);
	if(x > n) {
		for(int i = 1; i < N; i++)
			dp[x][i] = 1e9;
		return;
	}
	for(auto u : v[x]) {
		for(int i = 0; i < N; i++)
			dp2[i] = 1e9;
		for(int i = 0; i < N; i++)
			for(int j = -N; j < N; j++)
				if(u.second + j >= 0 and i + j + u.second < N)
					dp2[i + j + u.second] = min(dp2[i + j + u.second], dp[u.first][i] + abs(j));
		for(int i = 0; i < N; i++)
			dp[x][i] += dp2[i];
	}
}

int main() {

	scanf("%d %d", &n, &m);

	for(int i = 2; i <= n + m; i++) {
		int x, c;
		scanf("%d %d", &x, &c);
		v[x].push_back({i, c});
	}

	dfs(1);

	int res = 1e9;

	for(int i = 0; i < N; i++) {
		res = min(res, dp[1][i]);
	}

	printf("%d\n", res);

    return 0;

}

Compilation message

fireworks.cpp: In function 'int main()':
fireworks.cpp:36:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~~
fireworks.cpp:40:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &x, &c);
   ~~~~~^~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 380 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 488 KB Output is correct
2 Correct 35 ms 672 KB Output is correct
3 Correct 54 ms 672 KB Output is correct
4 Correct 85 ms 672 KB Output is correct
5 Correct 159 ms 832 KB Output is correct
6 Correct 125 ms 832 KB Output is correct
7 Correct 162 ms 832 KB Output is correct
8 Correct 163 ms 916 KB Output is correct
9 Correct 217 ms 1044 KB Output is correct
10 Correct 254 ms 1044 KB Output is correct
11 Correct 242 ms 1172 KB Output is correct
12 Correct 231 ms 1172 KB Output is correct
13 Correct 290 ms 1204 KB Output is correct
14 Correct 277 ms 1204 KB Output is correct
15 Correct 286 ms 1204 KB Output is correct
16 Correct 297 ms 1204 KB Output is correct
17 Correct 286 ms 1468 KB Output is correct
18 Correct 295 ms 1468 KB Output is correct
19 Correct 278 ms 1468 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 380 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 380 KB Output isn't correct
2 Halted 0 ms 0 KB -