Language: C++

#include <bits/stdc++.h>
 
using namespace std;
#define int long long
typedef long long int64;
 
const int64 INF = 1LL << 58;
 
struct CumulativeSum
{
  vector< int64 > data;
 
  CumulativeSum(int sz) : data(++sz, 0) {};
 
  inline void add(int k, int x)
  {
    data[k] += x;
  }
 
  void build()
  {
    for(int i = 1; i < data.size(); i++) {
      data[i] += data[i - 1];
    }
  }
 
  inline int64 query(int k)
  {
    if(k < 0) return (0);
    return (data[min(k, (int) data.size() - 1)]);
  }
};
 
CumulativeSum sum(100000), sum2(100000);
int dp[100000][3];
int A[100000];
int N, K;
 
int64 sums1(int l, int r)
{
  return (sum.query(r) - sum.query(l));
}
 
int64 sums2(int l, int r)
{
  return (sum2.query(r) - sum2.query(l));
}
 
signed main()
{
  cin >> N >> K;
 
  int64 all = 0;
  for(int i = 0; i < N; i++) {
    cin >> A[i];
    sum.add(i, max(0, A[i]));
    sum2.add(i, A[i]);
    all += A[i];
  }
  sum.build();
  sum2.build();
 
  int64 ret = 0;
  for(int i = 0; i <= N - K; i++) {
    ret = max(ret, sums1(-1, i - 1) + sums1(i + K - 1, N - 1) + sums2(i - 1, i + K - 1));
    ret = max(ret, sums2(-1, i - 1) + sums2(i + K - 1, N - 1) + sums1(i - 1, i + K - 1));
  }
  cout << ret << endl;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:56:19: error: no matching function for call to 'max(int, long long int&)'
   56 |     sum.add(i, max(0, A[i]));
      |                ~~~^~~~~~~~~
In file included from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
a.cc:56:19: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   56 |     sum.add(i, max(0, A[i]));
      |                ~~~^~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/14/algorithm:61:
/usr/include/c++/14/bits/stl_algo.h:5706:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5706 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5706:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5716:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5716 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5716:5: note:   template argument deduction/substitution failed:
a.cc:56:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   56 |     sum.add(i, max(0, A[i]));
      |                ~~~^~~~~~~~~