# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1184546 | cpdreamer | 메기 농장 (IOI22_fish) | C++17 | 157 ms | 6364 KiB |
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define P pair
#define F first
#define all(v) v.begin(),v.end()
#define V vector
#define pb push_back
#define S second
void file() {
freopen("input.txt.txt", "r", stdin);
freopen("output.txt.txt", "w", stdout);
}
const ll MOD=(ll)1e9+7;
ll dp[301][301][2];
ll pref[301][301];
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
std::vector<int> W) {
memset(dp,0,sizeof(dp));
memset(pref,0,sizeof(pref));
for(int i=0;i<M;i++){
pref[X[i]+1][Y[i]+1]+=W[i];
}
for(int i=1;i<=N;i++){
for(int j=1;j<=N;j++){
pref[i][j]+=pref[i][j-1];
}
}
for(int i=2;i<=N;i++){
for(int j=0;j<=N;j++){
for(int g=0;g<=N;g++){
ll x=dp[i-1][g][0]+max(pref[i-1][j]-pref[i-1][g],0LL);
dp[i][j][0]=max(dp[i][j][0],x);
ll y=max(dp[i-1][g][1],dp[i-1][g][0])+max(pref[i][g]-pref[i][j],0LL);
dp[i][j][1]=max(dp[i][j][1],y);
}
}
}
ll ans=0;
for(int i=0;i<=N;i++){
ans=max(ans,max(dp[N][i][0],dp[N][i][1]));
}
return ans;
}
Compilation message (stderr)
# | 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... |