답안 #724220

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
724220 2023-04-14T22:17:52 Z nihaddhuseynli 메기 농장 (IOI22_fish) C++17
12 / 100
86 ms 14304 KB
#include "fish.h"
#include <bits/stdc++.h>
#include <vector>
using namespace std;
typedef long long int ll;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,std::vector<int> W) {
    ll ans =0;
    ll a[300005];
    ll flag=0,flag1=0;
    for(int i =0;i<M;i++)
    {
        if(X[i]%2==1)
        {
            flag=1;
        }
        if(Y[i]!=0)
        {
            flag1=1;
        }
        a[X[i]]+=W[i];
    }
    if(flag==0)
    {
        for(int i =0;i<M;i++)
        {
            ans+=W[i];
        }
        return ans;
    }
    else if(flag1==0)
    {
        ll dp[300005][2];
        memset(dp,0,sizeof(dp));
        dp[1][0]=a[1];
        dp[1][1]=a[0];
        for(int i =2;i<N;i++)
        {
            dp[i][0]=max(dp[i-1][1]+a[i],dp[i-1][0]);
            dp[i][1]=max({dp[i-2][0]+a[i-1],dp[i-1][1],dp[i-2][1]+a[i-1]});
        }
        ans=max(dp[N-1][0],dp[N-1][1]);
        return ans;
    }
    else
    {
        ll b[300005][2];
        memset(b,0,sizeof(b));
        for(int i =0;i<M;i++)
        {
            b[Y[i]][X[i]]+=W[i];
        }
        for(int i =1;i<N-1;i++)
        {
            b[i][0]+=b[i-1][0];
            b[i][1]+=b[i-1][1];
        }
        ans=max(b[N-1][0],b[N-1][1]);
        if(N==2)
        {
            return ans;
        }
        for(int i =0;i<N;i++)
        {
            ll cnt=b[N-1][1]-b[i][1];
            ans=max(ans,cnt+b[i][0]);
        }
        return ans;
    }

}
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 9176 KB Output is correct
2 Correct 31 ms 9676 KB Output is correct
3 Correct 4 ms 7252 KB Output is correct
4 Correct 4 ms 7252 KB Output is correct
5 Correct 85 ms 14284 KB Output is correct
6 Correct 86 ms 14304 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 7252 KB 1st lines differ - on the 1st token, expected: '2', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 7252 KB Output is correct
2 Correct 4 ms 7252 KB Output is correct
3 Correct 17 ms 8532 KB Output is correct
4 Correct 13 ms 8164 KB Output is correct
5 Correct 29 ms 9656 KB Output is correct
6 Correct 25 ms 9652 KB Output is correct
7 Correct 29 ms 9680 KB Output is correct
8 Correct 29 ms 9676 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 7252 KB 1st lines differ - on the 1st token, expected: '3', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 7252 KB 1st lines differ - on the 1st token, expected: '3', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 7252 KB 1st lines differ - on the 1st token, expected: '3', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 7252 KB Output is correct
2 Correct 4 ms 7252 KB Output is correct
3 Correct 17 ms 8532 KB Output is correct
4 Correct 13 ms 8164 KB Output is correct
5 Correct 29 ms 9656 KB Output is correct
6 Correct 25 ms 9652 KB Output is correct
7 Correct 29 ms 9680 KB Output is correct
8 Correct 29 ms 9676 KB Output is correct
9 Incorrect 29 ms 9672 KB 1st lines differ - on the 1st token, expected: '99999', found: '1'
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 9176 KB Output is correct
2 Correct 31 ms 9676 KB Output is correct
3 Correct 4 ms 7252 KB Output is correct
4 Correct 4 ms 7252 KB Output is correct
5 Correct 85 ms 14284 KB Output is correct
6 Correct 86 ms 14304 KB Output is correct
7 Incorrect 4 ms 7252 KB 1st lines differ - on the 1st token, expected: '2', found: '1'
8 Halted 0 ms 0 KB -