Submission #643637

#TimeUsernameProblemLanguageResultExecution timeMemory
643637DextarCatfish Farm (IOI22_fish)C++17
3 / 100
100 ms11084 KiB
#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];
            dp[i] = max(dp[i], dp[i+1]);
            for(int j=i+2; j<=min(n, i+5); 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 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...