제출 #642208

#제출 시각아이디문제언어결과실행 시간메모리
642208tigarCatfish Farm (IOI22_fish)C++17
3 / 100
90 ms11560 KiB
#include "fish.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

ll max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W)
{
    bool subtask1=true, subtask2=true/*, subtask3=true*/;
    for(int i=0; i<M; i++)
    {
        if(X[i]%2!=0)subtask1=false;
        if(X[i]>1)subtask2=false;
        //if(Y[i]!=0)subtask3=false;
    }
    if(subtask1)
    {
        ll rez=0;
        for(int i=0; i<M; i++)rez+=W[i];
        return rez;
    }
    if(subtask2)
    {
        ll s1=0, s0=0, m[N][2];
        for(int i=0; i<M; i++)
        {
            if(X[i]==0)s0+=W[i];
            else s1+=W[i];
            m[Y[i]][X[i]]=W[i];
        }
        for(int i=0; i<N; i++)
        {
            m[i][0]=m[max(i-1, 0)][0]+m[i][0];
            m[i][1]=m[max(i-1, 0)][1]+m[i][1];
        }
        if(N==2)return max(m[N-1][0], m[N-1][1]);
        ll rez=0;
        for(int i=0; i<N; i++)
        {
            rez=max(rez, m[i][0]+m[N-1][1]-m[i][0]);
        }
        return rez;
    }
    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...