Language: C++

#include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i, n) for(int i = 0; i < (int)(n); i++)
#define all(x) (x).begin(),(x).end()
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}

typedef long long ll;
int main(){
  int n;
  cin >> n;
  vector<int> a(n);
  rep(i,n) cin >> a[i];
  ll prevArraySum = a[0];
  ll currentArraySum = a[0];
  ll res = 0;
  if(a[0] == 0){
    res = 1;
    prevArraySum = 1;
    currentArraySum = 1;
    FOR(i,1,n){
      if(prevArraySum > 0){
        currentArraySum = prevArraySum + a[i];
        if(currentArraySum >= 0){
          res += abs(-1 - currentArraySum);
          prevArraySum = -1;
        }else{
          prevArraySum = currentArraySum;
        }
      }else{
        currentArraySum = prevArraySum + a[i];
        if(currentArraySum <= 0){
          res += abs(1 - currentArraySum);
          prevArraySum = 1;
        }else{
          prevArraySum = currentArraySum;
        }
      }
    }
    int res1 = res;
    res = 1;
    FOR(i,1,n){
      if(prevArraySum > 0){
        currentArraySum = prevArraySum + a[i];
        if(currentArraySum >= 0){
          res += abs(-1 - currentArraySum);
          prevArraySum = -1;
        }
      }else{
        currentArraySum = prevArraySum + a[i];
        if(currentArraySum <= 0){
          res += abs(1 - currentArraySum);
          prevArraySum = 1;
        }else{
          prevArraySum = currentArraySum;
        }
      }
    }
    res = min(res,res1);
  }else{
    FOR(i,1,n){
      if(prevArraySum > 0){
        currentArraySum = prevArraySum + a[i];
        if(currentArraySum >= 0){
          res += abs(-1 - currentArraySum);
          prevArraySum = -1;
        }else{
          prevArraySum = currentArraySum;
        }
      }else{
        currentArraySum = prevArraySum + a[i];
        if(currentArraySum <= 0){
          res += abs(1 - currentArraySum);
          prevArraySum = 1;
        }else{
          prevArraySum = currentArraySum;
        }
      }
    }
  }
  cout << res << endl;
  return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:59:14: error: no matching function for call to 'min(ll&, int&)'
   59 |     res = min(res,res1);
      |           ~~~^~~~~~~~~~
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:233:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  233 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:233:5: note:   template argument deduction/substitution failed:
a.cc:59:14: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   59 |     res = min(res,res1);
      |           ~~~^~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:281:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  281 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:281: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:5686:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(initializer_list<_Tp>)'
 5686 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5686:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5696:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(initializer_list<_Tp>, _Compare)'
 5696 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5696:5: note:   template argument deduction/substitution failed:
a.cc:59:14: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   59 |     res = min(res,res1);
      |           ~~~^~~~~~~~~~