This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#ifdef DEBUG
#define D(X) X
#else
#define D(X)
#endif
#include <bits/stdc++.h>
#define F first
#define S second
#define ll long long
#define pi 3.14159265359
#define pub push_back
#define pob pop_back
//#include <fish.h>
using namespace std;
const int INF = 1000 * 1000 * 1000;
const int mod = 1000 * 1000 * 1000 + 7;
ll max_weights(int n, int m, vector<int> x, vector<int> y, vector<int> w)
{
ll cnt[n];
for(int i=0; i<n; i++) {
cnt[i] = 0;
}
for(int i=0; i<m; i++) {
cnt[x[i]] += w[i]; //cout<<cnt[x[i]]<<endl;
}
ll dp[n+1];
dp[n] = 0;
dp[n-1] = cnt[n-1];
for(int i=n-2; i>=0; i--) {
dp[i] = dp[i+2] + cnt[i]; //cout<<dp[i]<<endl;
for(int j=i+2; j<=n; j++) {
if(j>=n-1) {
dp[i] = max(dp[i], cnt[j-1]);
} else
{
dp[i] = max(dp[i], cnt[j-1] + dp[j+1]);
}
}
}
return dp[0];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |