Language: C++

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

int main(){
    int64_t N,M,K;
    cin >> N >> M >> K;
    vector<int64_t> A(N);
    vector<int64_t> B(M);
    for(int i=0; i<N; i++){
        cin >> A.at(i);
    }
    for(int i=0; i<M; i++){
        cin >> B.at(i);
    }
    /*
    //int64_t ans = 0;
    int64_t a_i = 0;
    int64_t b_i = 0;
    while(K >= 0){
        if(a_i == N && b_i == M) break;
        if(a_i == N){
            if(K < B.at(b_i)) break;
            //ans++;
            K -= B.at(b_i);
            b_i++;
        }
        else if(b_i == M){
            if(K < A.at(a_i)) break;
            //ans++;
            K -= A.at(a_i);
            a_i++;
        }
        else if(A.at(a_i) < B.at(b_i)){
            if(K < A.at(a_i)) break;
            //ans++;
            K -= A.at(a_i);
            a_i++;
        }
        else{
            if(K < B.at(b_i)) break;
            //ans++;
            K -= B.at(b_i);
            b_i++;
        }
    }
    cout << a_i+b_i << endl;
    */
   int max_A = 0;
   int64_t time = 0;
   while(K >= time){
       if(max_A == N) break;
       if(K-time >= A.at(max_A)){
           time += A.at(max_A);
           max_A++;
       }
       else break;
   }
   int max_B = 0;
   while(K >= time){
       if(max_B == M) break;
       if(K-time >= B.at(max_B)){
           time += B.at(max_B);
           max_B++;   
        }
        else break;
    }
    int64_t ans = max_A + max_B;
    while(max_A>=1 && max_B < M){
        max_A--;
        time -= A.at(max_A);
        while(K >= time){
            if(max_B == M) break;
            if(K-time >= B.at(max_B)){
                time += B.at(max_B);
                max_B++;
            }
            else break;
        }
        ans = min(ans, max_A+max_B);
    }
    cout << ans << endl;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:79:18: error: no matching function for call to 'min(int64_t&, int)'
   79 |         ans = min(ans, max_A+max_B);
      |               ~~~^~~~~~~~~~~~~~~~~~
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:79:18: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
   79 |         ans = min(ans, max_A+max_B);
      |               ~~~^~~~~~~~~~~~~~~~~~
/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:79:18: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
   79 |         ans = min(ans, max_A+max_B);
      |               ~~~^~~~~~~~~~~~~~~~~~