Submission #1302231

#TimeUsernameProblemLanguageResultExecution timeMemory
1302231nicolo_010Horses (IOI15_horses)C++20
0 / 100
278 ms589824 KiB
#include <bits/stdc++.h>
#include "horses.h"
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int MOD = 1e9+7;

int init(int n, int* x, int* y) {
	vector<vector<ll>> dp(n, vector<ll>(1001, 0));
	dp[0][x[0]] = 0;
	for (int i=1; i<=x[0]; i++) {
		dp[0][x[0]-i] = y[0]*i;
		dp[0][x[0]-i] %= MOD;
	}
	for (int i=1; i<n; i++) {
		for (int j=0; j*x[i]<=1000; j++) {
			dp[i][j*x[i]] = dp[i-1][j];
		}
		for (int j=1000; j >= 0; j--) {
			for (int k=1; k+j <=1000; k++) {
				dp[i][j] = max(dp[i][j], dp[i][j+k]+y[i]*k);
				dp[i][j] %= MOD;
			}
		}
	}
	ll mx=0;
	for (int i=0; i<=1000; i++) {
		mx = max(mx, dp[n-1][i]);
	}
	return mx;
}

int updateX(int pos, int val) {
	return 0;
}

int updateY(int pos, int val) {
	return 0;
}
#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...