Submission #1184587

#TimeUsernameProblemLanguageResultExecution timeMemory
1184587cpdreamerCatfish Farm (IOI22_fish)C++17
35 / 100
166 ms6364 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 = max(dp[i - 1][g][0] + max(pref[i - 1][j] - pref[i - 1][g], 0LL), dp[i - 1][g][1]);
                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++){
        for(int j=0;j<=N;j++) {
            ans = max(ans, max(dp[j][i][0], dp[j][i][1]));
        }
    }
    return ans;
}

Compilation message (stderr)

fish.cpp: In function 'void file()':
fish.cpp:13:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     freopen("input.txt.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fish.cpp:14:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |     freopen("output.txt.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...