Submission #1158071

#TimeUsernameProblemLanguageResultExecution timeMemory
1158071InvMODCatfish Farm (IOI22_fish)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>

using namespace std;

#define fi first
#define se second

//#define int long long
#define sz(v) (int)(v).size()
#define all(v) (v).begin(), (v).end()

using ll = long long;

namespace Subtask1{
    bool ckSub(vector<int>& X){
        for(int i = 0; i < sz(X); i++){
            if(X[i] & 1) return false;
        }
        return true;
    }

    ll process(vector<int>& W){
        ll answer = 0;
        for(int i = 0; i < sz(W); i++){
            answer += W[i];
        }
        return answer;
    }
}

namespace Subtask2{
    bool ckSub(vector<int>& X){
        for(int i = 0; i < sz(X); i++){
            if(X[i] > 1) return false;
        }
        return true;
    }

    ll process(vector<int>& X, vector<int>& Y, vector<int>& W){
        vector<vector<int>> row(2, vector<int>(n + 1));

        for(int i = 0; i < sz(X); i++){
            row[X[i]][Y[i] + 1] = W[i];
        }

        ll answer = 0;

        vector<vector<ll>> pref(2, vector<ll>(n + 1));
        for(int i = 0; i < 2; i++){
            for(int j = 1; j <= n; j++){
                pref[i][j] = pref[i][j - 1] + row[i][j];
            }
        }

        ll answer = 0;
        for(int i = 1; i <= n; i++){
            for(int j = 1; j <= n; j++){
                if(i > j){
                    answer = max(answer, pref[1][i] - pref[1][j]);
                }
                else{
                    answer = max(answer, pref[0][j] - pref[0][i]);
                }
            }
        }
        return answer;
    }
}

ll max_weights(int n, int m, vector<int> X, vector<int> Y, vector<int> W){

    if(Subtask1::ckSub(X)){
        return Subtask1::process(W);
    }

    if(Subtask2::ckSub(X)){
        return Subtask2::process(X, Y, W);
    }

    return 0;
}

Compilation message (stderr)

fish.cpp: In function 'll Subtask2::process(std::vector<int>&, std::vector<int>&, std::vector<int>&)':
fish.cpp:40:48: error: 'n' was not declared in this scope
   40 |         vector<vector<int>> row(2, vector<int>(n + 1));
      |                                                ^
fish.cpp:55:12: error: redeclaration of 'll answer'
   55 |         ll answer = 0;
      |            ^~~~~~
fish.cpp:46:12: note: 'll answer' previously declared here
   46 |         ll answer = 0;
      |            ^~~~~~