Submission #1075465

#TimeUsernameProblemLanguageResultExecution timeMemory
1075465Muhammad_AneeqCatfish Farm (IOI22_fish)C++17
3 / 100
56 ms7280 KiB
#include <vector>
using namespace std;
long long max_weights(int N, int M, vector<int> X, vector<int> Y,vector<int> W)
{
    bool subt1=1,subt2=1,subt3=1;
    for (int i=0;i<M;i++)
    {
        if (X[i]%2)
            subt1=0;
        if (X[i]>1)
            subt2=0;
        if (Y[i]!=0)
            subt3=0;
    }
    if (subt1)
    {
        long long sm=0;
        for (int i=0;i<M;i++)
            sm+=W[i];
        return sm;
    }
    if (subt2)
    {
        long long sm[2]={};
        for (int i=0;i<M;i++)
        {
            sm[X[i]]+=W[i];
        }
        return max(sm[0],sm[1]);
    }
    if (subt3)
    {
        long long dp[N][2]={};
        int val[N]={};
        for (int i=0;i<M;i++)
            val[X[i]]=W[i];
        dp[0][0]=0,dp[0][1]=val[0];
        long long ans=0;
        for (int i=1;i<N;i++)
        {
            if (i>1)
                dp[i][0]=max(dp[i-2][0],dp[i-2][1])+val[i];
            if (i<N-1)
                dp[i][1]=max(dp[i][0],dp[i-1][0]+val[i]);
            ans=max(ans,max(dp[i][0],dp[i][1]));
        }
        return ans;
    }
    return 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...