Submission #831459

#TimeUsernameProblemLanguageResultExecution timeMemory
831459MrDebooCatfish Farm (IOI22_fish)C++17
0 / 100
36 ms71112 KiB
#include "fish.h"
#include "bits/stdc++.h"
using namespace std;
long long dp[3001][3002];
vector<pair<int,int>>vct[3001];
int slv(int a,int b){
    if(dp[a][b]!=-1)return dp[a][b];
    int mx=slv(a+1,0);
    int tot=0;
    for(auto &i:vct[a]){
        if(i.first>b)tot+=i.second;
        mx=max(slv(a+1,i.first)+tot,mx);
    }
    return mx;
}
long long max_weights(int n, int m, std::vector<int> x, std::vector<int> y, std::vector<int> w) {
    if(n>3000){
        int g=0;
        for(auto &i:w)g+=i;
        return g;
    }
    memset(dp,-1,sizeof dp);
    for(int i=0;i<m;i++){
        vct[x[i]].push_back({y[i]+1,w[i]});
    }
    for(int i=0;i<=n;i++)sort(vct[i].begin(),vct[i].end());
    return slv(0,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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...