제출 #1158077

#제출 시각아이디문제언어결과실행 시간메모리
1158077InvMOD메기 농장 (IOI22_fish)C++20
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>

//#define name "InvMOD"
#ifndef name
    include "fish.h"
#endif // name

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(int n, 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];
        }

        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] + 1ll * row[i][j];
            }
        }

        ll answer = max(pref[0][n], pref[1][n]);
        for(int i = 0; i <= n; i++){
            for(int j = 0; 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(n, X, Y, W);
    }

    return 0;
}

#ifdef name
    int32_t main(){
        freopen(name".INP", "r", stdin);
        freopen(name".OUT", "w", stdout);

        int n,m; cin >> n >> m;

        vector<int> X(m), Y(m), W(m);

        for(int i = 0; i < m; i++){
            cin >> X[i];
        }
        for(int i = 0; i < m; i++){
            cin >> Y[i];
        }
        for(int i = 0; i < m; i++){
            cin >> W[i];
        }

        cout << max_weights(n, m, X, Y, W) << "\n";

        return 0;
    }
#endif // name

컴파일 시 표준 에러 (stderr) 메시지

fish.cpp:5:5: error: 'include' does not name a type
    5 |     include "fish.h"
      |     ^~~~~~~
fish.cpp:20:16: error: 'vector' was not declared in this scope
   20 |     bool ckSub(vector<int>& X){
      |                ^~~~~~
fish.cpp:20:16: note: suggested alternatives:
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:389:11: note:   'std::vector'
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
In file included from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/vector:86:13: note:   'std::pmr::vector'
   86 |       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
      |             ^~~~~~
fish.cpp:20:23: error: expected primary-expression before 'int'
   20 |     bool ckSub(vector<int>& X){
      |                       ^~~
fish.cpp:27:16: error: 'vector' was not declared in this scope
   27 |     ll process(vector<int>& W){
      |                ^~~~~~
fish.cpp:27:16: note: suggested alternatives:
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:389:11: note:   'std::vector'
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
In file included from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/vector:86:13: note:   'std::pmr::vector'
   86 |       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
      |             ^~~~~~
fish.cpp:27:23: error: expected primary-expression before 'int'
   27 |     ll process(vector<int>& W){
      |                       ^~~
fish.cpp:37:16: error: 'vector' was not declared in this scope
   37 |     bool ckSub(vector<int>& X){
      |                ^~~~~~
fish.cpp:37:16: note: suggested alternatives:
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:389:11: note:   'std::vector'
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
In file included from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/vector:86:13: note:   'std::pmr::vector'
   86 |       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
      |             ^~~~~~
fish.cpp:37:23: error: expected primary-expression before 'int'
   37 |     bool ckSub(vector<int>& X){
      |                       ^~~
fish.cpp:44:23: error: 'vector' has not been declared
   44 |     ll process(int n, vector<int>& X, vector<int>& Y, vector<int>& W){
      |                       ^~~~~~
fish.cpp:44:29: error: expected ',' or '...' before '<' token
   44 |     ll process(int n, vector<int>& X, vector<int>& Y, vector<int>& W){
      |                             ^
fish.cpp: In function 'll Subtask2::process(int, int)':
fish.cpp:45:16: error: 'vector' was not declared in this scope
   45 |         vector<vector<int>> row(2, vector<int>(n + 1));
      |                ^~~~~~
fish.cpp:45:16: note: suggested alternatives:
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:389:11: note:   'std::vector'
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
In file included from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/vector:86:13: note:   'std::pmr::vector'
   86 |       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
      |             ^~~~~~
fish.cpp:45:23: error: expected primary-expression before 'int'
   45 |         vector<vector<int>> row(2, vector<int>(n + 1));
      |                       ^~~
fish.cpp:47:31: error: 'X' was not declared in this scope
   47 |         for(int i = 0; i < sz(X); i++){
      |                               ^
fish.cpp:14:21: note: in definition of macro 'sz'
   14 | #define sz(v) (int)(v).size()
      |                     ^
fish.cpp:48:13: error: 'row' was not declared in this scope; did you mean 'pow'?
   48 |             row[X[i]][Y[i] + 1] = W[i];
      |             ^~~
      |             pow
fish.cpp:48:23: error: 'Y' was not declared in this scope
   48 |             row[X[i]][Y[i] + 1] = W[i];
      |                       ^
fish.cpp:48:35: error: 'W' was not declared in this scope
   48 |             row[X[i]][Y[i] + 1] = W[i];
      |                                   ^
fish.cpp:51:25: error: expected primary-expression before '>>' token
   51 |         vector<vector<ll>> pref(2, vector<ll>(n + 1));
      |                         ^~
fish.cpp:51:45: error: expected primary-expression before '>' token
   51 |         vector<vector<ll>> pref(2, vector<ll>(n + 1));
      |                                             ^
fish.cpp:51:28: error: 'pref' was not declared in this scope
   51 |         vector<vector<ll>> pref(2, vector<ll>(n + 1));
      |                            ^~~~
fish.cpp:54:53: error: 'row' was not declared in this scope; did you mean 'pow'?
   54 |                 pref[i][j] = pref[i][j - 1] + 1ll * row[i][j];
      |                                                     ^~~
      |                                                     pow
fish.cpp:58:21: error: 'max' was not declared in this scope
   58 |         ll answer = max(pref[0][n], pref[1][n]);
      |                     ^~~
fish.cpp:58:21: note: suggested alternatives:
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note:   'std::max'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from /usr/include/c++/11/algorithm:64,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/11/bits/ranges_algo.h:3011:29: note:   'std::ranges::max'
 3011 |   inline constexpr __max_fn max{};
      |                             ^~~
fish.cpp: At global scope:
fish.cpp:73:30: error: 'vector' has not been declared
   73 | ll max_weights(int n, int m, vector<int> X, vector<int> Y, vector<int> W){
      |                              ^~~~~~
fish.cpp:73:36: error: expected ',' or '...' before '<' token
   73 | ll max_weights(int n, int m, vector<int> X, vector<int> Y, vector<int> W){
      |                                    ^
fish.cpp: In function 'll max_weights(int, int, int)':
fish.cpp:75:24: error: 'X' was not declared in this scope
   75 |     if(Subtask1::ckSub(X)){
      |                        ^
fish.cpp:75:25: error: 'Subtask1::ckSub' cannot be used as a function
   75 |     if(Subtask1::ckSub(X)){
      |                         ^
fish.cpp:76:34: error: 'W' was not declared in this scope
   76 |         return Subtask1::process(W);
      |                                  ^
fish.cpp:76:35: error: 'Subtask1::process' cannot be used as a function
   76 |         return Subtask1::process(W);
      |                                   ^
fish.cpp:79:24: error: 'X' was not declared in this scope
   79 |     if(Subtask2::ckSub(X)){
      |                        ^
fish.cpp:79:25: error: 'Subtask2::ckSub' cannot be used as a function
   79 |     if(Subtask2::ckSub(X)){
      |                         ^
fish.cpp:80:40: error: 'Y' was not declared in this scope
   80 |         return Subtask2::process(n, X, Y, W);
      |                                        ^
fish.cpp:80:43: error: 'W' was not declared in this scope
   80 |         return Subtask2::process(n, X, Y, W);
      |                                           ^