Submission #1223304

#TimeUsernameProblemLanguageResultExecution timeMemory
1223304brintonCatfish Farm (IOI22_fish)C++20
Compilation error
0 ms0 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;

long long max_weights(int N, int M, vector<int> X, vector<int> Y,vector<int> W) {
  vector<long long> val(N+1,0);
  for(int i = 0;i < M;i++) val[X[i]] = W[i];
  vector<long long> dp(N,0);// last_wall taken
  auto gdp = [&](int i){
    if(i < 0) return 0;
    return dp[i];
  };
  auto gval = [&](int i){
    if(i < 0 || i >= N) return 0;
    return val[i];
  };
  for(int i = 0;i < N;i++){

    dp[i] = max({gdp(i-3)+gval(i-1)+gval(i+1),gdp(i-2)+gval(i+1),gdp(i-1)-gval(i)+val(i+1)});
  }
  return *max_element(dp.begin(),dp.end());
}

Compilation message (stderr)

fish.cpp: In lambda function:
fish.cpp:11:16: error: inconsistent types 'int' and 'long long int' deduced for lambda return type
   11 |     return dp[i];
      |                ^
fish.cpp: In lambda function:
fish.cpp:15:17: error: inconsistent types 'int' and 'long long int' deduced for lambda return type
   15 |     return val[i];
      |                 ^
fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:19:86: error: no match for call to '(std::vector<long long int>) (int)'
   19 |     dp[i] = max({gdp(i-3)+gval(i-1)+gval(i+1),gdp(i-2)+gval(i+1),gdp(i-1)-gval(i)+val(i+1)});
      |                                                                                   ~~~^~~~~
fish.cpp:19:16: error: no matching function for call to 'max(<brace-enclosed initializer list>)'
   19 |     dp[i] = max({gdp(i-3)+gval(i-1)+gval(i+1),gdp(i-2)+gval(i+1),gdp(i-1)-gval(i)+val(i+1)});
      |             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:60,
                 from fish.h:1,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
fish.cpp:19:16: note:   candidate expects 2 arguments, 1 provided
   19 |     dp[i] = max({gdp(i-3)+gval(i-1)+gval(i+1),gdp(i-2)+gval(i+1),gdp(i-1)-gval(i)+val(i+1)});
      |             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:60,
                 from fish.h:1,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
fish.cpp:19:16: note:   candidate expects 3 arguments, 1 provided
   19 |     dp[i] = max({gdp(i-3)+gval(i-1)+gval(i+1),gdp(i-2)+gval(i+1),gdp(i-1)-gval(i)+val(i+1)});
      |             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:62,
                 from fish.h:1,
                 from fish.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3461 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed: