Language: C++

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main(){
   int n, k;
   cin>>n>>k;
   ll a[n];
   for(int i=0; i<n; i++){
       cin>>a[i];
   }
   ll mn = 1e18;
    for(int i=0; i<n-k+1; i++){
        ll val;
        if(a[i]*a[i+k-1]>=0){
            val = max(abs(a[i], abs(a[i])));
        }else{
            val = abs(a[i])+abs(a[i+k-1])+min(abs(a[i]),abs(a[i+k-1]))
        }
        mn = min(mn, val);
    }
    cout<<mn<<endl;
//    int val1, val2;
//    int indx = lower_bound(a, a+n, 0)-a;
//    if(n-indx>=k){
//        val1 = a[indx+k-1];
//    }else{
//        int tmp1=0, tmp2=0;
//        if(indx!=n){
//            tmp1 = a[n-1];
//        }
//        int left = k - (n-indx]);
//        tmp2 = abs(a[indx-left]);
//        val1 = tmp1+tmp2+min(tmp1,tmp2);
//    }
//    indx = upper_bound(a, a+n, 0)-a;
//    indx--;
//    if(indx+1>=k){
//        val2 = abs(a[indx-k+1]);
//    }else{
//        int tmp1, tmp2=0;
//        if(indx>=0){
//            tmp2=abs(a[0]);
//        }
//        int left = k-(indx+1);
//        tmp1 = abs(a[indx+left]);
//        val2 = tmp1+tmp2 +min(tmp1, tmp2);
//    }
//    cout<<min(val1,val2)<<endl;

}

Compiler output:
a.cc: In function 'int main()':
a.cc:16:26: error: no matching function for call to 'abs(ll&, long long int)'
   16 |             val = max(abs(a[i], abs(a[i])));
      |                       ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/valarray:605,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:166,
                 from a.cc:1:
/usr/include/c++/14/bits/valarray_after.h:445:5: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_UnClos<std::_Abs, std::_ValArray, _Tp>, _Tp> std::abs(const valarray<_Tp>&)'
  445 |     _DEFINE_EXPR_UNARY_FUNCTION(abs, struct std::_Abs)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:445:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/valarray_after.h:445:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_UnClos<std::_Abs, std::_Expr, _Dom>, typename _Dom::value_type> std::abs(const _Expr<_Dom1, typename _Dom1::value_type>&)'
  445 |     _DEFINE_EXPR_UNARY_FUNCTION(abs, struct std::_Abs)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:445:5: note:   candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/14/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:127:
/usr/include/c++/14/complex:892:5: note: candidate: 'template<class _Tp> _Tp std::abs(const complex<_Tp>&)'
  892 |     abs(const complex<_Tp>& __z) { return __complex_abs(__z.__rep()); }
      |     ^~~
/usr/include/c++/14/complex:892:5: note:   candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/14/cstdlib:79,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:42:
/usr/include/stdlib.h:980:12: note: candidate: 'int abs(int)'
  980 | extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
      |            ^~~
/usr/include/stdlib.h:980:12: note:   candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/14/cstdlib:81:
/usr/include/c++/14/bits/std_abs.h:137:3: note: candidate: 'constexpr __float128 std::abs(__float128)'
  137 |   abs(__float128 __x)
      |   ^~~
/usr/include/c++/14/bits/std_abs.h:137:3: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/std_abs.h:85:3: note: candidate: 'constexpr __int128 std::abs(__int128)'
   85 |   abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
      |   ^~~
/usr/include/c++/14/bits/std_abs.h:85:3: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/std_abs.h:79:3: note: candidate: 'constexpr long double std::abs(long double)'
   79 |   abs(long double __x)
      |   ^~~
/usr/include/c++/14/bits/std_abs.h:79:3: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/std_abs.h:75:3: note: candidate: 'constexpr float std::abs(float)'
   75 |   abs(float __x)
      |   ^~~
/usr/include/c++/14/bits/std_abs.h:75:3: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/std_abs.h:71:3: note: candidate: 'constexpr double std::abs(double)'
   71 |   abs(double __x)
      |   ^~~
/usr/include/c++/14/bits/std_abs.h:71:3: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/std_abs.h:61:3: note: candidate: 'long long int std::abs(long long int)'
   61 |   abs(long long __x) { return __builtin_llabs (__x); }
      |   ^~~
/usr/include/c++/14/bits/std_abs.h:61:3: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/std_abs.h:56:3: note: candidate: 'long int std::abs(long int)'
   56 |   abs(long __i) { return __builtin_labs(__i); }
      |   ^~~
/usr/include/c++/14/bits/std_abs.h:56:3: note:   candidate expects 1 argument, 2 provided
a.cc:18:71: error: expected ';' before '}' token
   18 |             val = abs(a[i])+abs(a[i+k-1])+min(abs(a[i]),abs(a[i+k-1]))
      |                                                                       ^
      |                                                                       ;
   19 |         }
      |         ~