답안 #45144

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

using namespace std;

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

const int N = 300 + 5;

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

int f(int x, int k) {
	if(k < 0)
		return 1e9;
	if(x > n) {
		return k ? 1e9 : 0;
	}
	int &r = dp[x][k];
	if(r != -1) return r;
	r = 0;
	for(auto u : v[x]) {
		int res = 1e9;
		for(int i = -u.second; i <= 300 - (k - u.second); i++) {
			res = min(res, f(u.first, k + i - u.second) + abs(i));
		}
		r = min((int)1e9, r + res);
	}
	return r;
}

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});
	}

	memset(dp, -1, sizeof(dp));

	int res = 1e9;

	for(int i = 0; i <= 300; i++) {
		res = min(res, f(1, i));
	}

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

    return 0;

}

Compilation message

fireworks.cpp: In function 'int main()':
fireworks.cpp:35: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:39: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 Execution timed out 2081 ms 632 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 744 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2081 ms 632 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2081 ms 632 KB Time limit exceeded
2 Halted 0 ms 0 KB -