제출 #989828

#제출 시각아이디문제언어결과실행 시간메모리
989828cpdreamer메기 농장 (IOI22_fish)C++17
0 / 100
16 ms4944 KiB
#include "fish.h"

#include <bits/stdc++.h>
using namespace std;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,std::vector<int> W) {
    long long dp[N][2];
    sort(X.begin(),X.end());
    long long c;
    if(X[0]==0)
        c=W[0];
    else
        c=0;
    dp[0][0]=0;
    dp[0][1]=c;
    if(X[0]==1)
        c=W[0];
    else {
        if (X[1] == 1)
            c = W[1];
        else
            c = 0;
    }
    dp[1][1]=max(dp[0][1],c);
    dp[1][0]=max(dp[0][1],c);
    int index;
    if(X[0]==0 && X[1]==1)
        index=2;
    if(X[0]==0 && X[1]!=1)
        index=1;
    if(X[0]==1 )
        index=1;
    if(X[0]!=1 && X[0]!=0)
        index=0;
    for(int i=2;i<N;i++){
        if(i==X[index]) {
            c = W[index];
            index++;
        }
        else
            c=0;
        dp[i][1]=max(dp[i-1][1],dp[i-1][0]+c);
        dp[i][0]=max(dp[i-1][1],max(dp[i-2][0],dp[i-2][1]+c));
    }
    return dp[N-1][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...