제출 #1333244

#제출 시각아이디문제언어결과실행 시간메모리
1333244ricardsjansonsSelf Study (JOI22_ho_t2)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int N=3e5+5;

ll n,m,a[N],b[N];

bool check(ll x){
    ll y=0;
    for(int i=0;i<n;i++){
        if(m*a[i]<x){
            y+=max(0,(x-m*a[i]+b[i]-1)/b[i]);
        }else{
            y-=max(0,m-(x+a[i]-1)/a[i]);
        }
    }
    return y<=0;
}

ll bs(){
    ll l=1,r=1e18;
    while(l<r){
        ll mid=(l+r+1)/2;
        if(check(mid)){
            l=mid;
        }else{
            r=mid-1;
        }
    }
    return l;
}

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>m;
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=0;i<n;i++){
        cin>>b[i];
        a[i]=max(a[i],b[i]);
    }
    cout<<bs();
}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'bool check(long long int)':
Main.cpp:13:19: error: no matching function for call to 'max(int, long long int)'
   13 |             y+=max(0,(x-m*a[i]+b[i]-1)/b[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from Main.cpp:1:
/usr/include/c++/13/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++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
Main.cpp:13:19: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   13 |             y+=max(0,(x-m*a[i]+b[i]-1)/b[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/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++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
Main.cpp:13:19: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   13 |             y+=max(0,(x-m*a[i]+b[i]-1)/b[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
Main.cpp:13:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   13 |             y+=max(0,(x-m*a[i]+b[i]-1)/b[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
Main.cpp:13:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   13 |             y+=max(0,(x-m*a[i]+b[i]-1)/b[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:15:19: error: no matching function for call to 'max(int, long long int)'
   15 |             y-=max(0,m-(x+a[i]-1)/a[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/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++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
Main.cpp:15:19: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   15 |             y-=max(0,m-(x+a[i]-1)/a[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/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++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
Main.cpp:15:19: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   15 |             y-=max(0,m-(x+a[i]-1)/a[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
Main.cpp:15:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   15 |             y-=max(0,m-(x+a[i]-1)/a[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
Main.cpp:15:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   15 |             y-=max(0,m-(x+a[i]-1)/a[i]);
      |                ~~~^~~~~~~~~~~~~~~~~~~~~