Submission #1238852

#TimeUsernameProblemLanguageResultExecution timeMemory
1238852simplemind_31Catfish Farm (IOI22_fish)C++20
0 / 100
25 ms4164 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll mat[305][305],psum[305][305],dp[305][305],maxi;
long long max_weights(int N,int M,vector<int> X,vector<int> Y,vector<int> W){
  for(int i=0;i<M;i++){
    mat[Y[i]+1][X[i]+1]=W[i];
  }
  for(int i=1;i<=N;i++){
    for(int j=1;j<=N;j++){
      psum[i][j]=mat[i][j]+psum[i-1][j];
    }
  }
  /*for(int i=N;i>=1;i--){
    for(int j=1;j<=N;j++){
        cout << psum[i][j] << ' ';
    }
    cout << '\n';
  }*/
  for(int j=1;j<=N;j++){
    /*for(int i=0;i<=N;i++){
        dp[0][j]=max(dp[0][j],dp[i][j-1]);
    }*/
    for(int i=0;i<=N;i++){
      // no usar i,j
      dp[i][j]=maxi;
      //usar i,j;
      for(int k=0;k<=N;k++){
        if(k<i){
            dp[i][j]=max(dp[i][j],dp[k][j-1]-psum[k][j]+psum[i][j-1]-psum[k][j-1]);
        }else{
            dp[i][j]=max(dp[i][j],dp[k][j-1]-psum[k][j]);
        }
      }
      if(j>=2){
        for(int k=0;k<=N;k++){
          if(k<i){
              dp[i][j]=max(dp[i][j],dp[k][j-2]+psum[i][j-1]-psum[k][j-1]);
          }else{
              dp[i][j]=max(dp[i][j],dp[k][j-2]);
          }
        }
        if(j>=3){
          dp[i][j]=max(dp[i][j],dp[N][j-3]+psum[i][j-1]+psum[i][j+1]);
        }
      }
      maxi=max(maxi,dp[i][j]);
    }
  }
  /*for(int i=N;i>=1;i--){
    for(int j=1;j<=N;j++){
        cout << dp[i][j] << ' ';
    }
    cout << '\n';
  }*/
  return maxi;
}
#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...