답안 #1091646

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1091646 2024-09-21T17:05:57 Z ASN49K Safety (NOI18_safety) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;
using i64=long long;
#define UNUSED -1
#define all(x) x.begin(),x.end()
#define pb push_back
const int mod=1e9+7,inf=1e9+1;
const int N=2e5;

int n,h;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin>>n>>h;
    vector<i64>b;

    i64 rez=0;
    i64 last_l=0,last_r=0;
    for(int i=1;i<=n;i++)
    {
        int x;
        cin>>x;
        b.insert(lower_bound(all(b) , x),x);
        b.insert(lower_bound(all(b) , x),x);
        for(int j=0;j<i;j++)
        {
            b[j]-=h;
        }
        for(int j=i;j<2*i;j++)
        {
            b[j]+=h;
        }


        //rez se schimba, intervale disjuncte
        if(i!=1)
        {
            rez+=max(last_l-x , 0);
            rez+=max(x-last_r , 0);
        }
        last_l=b[i-1],last_r=b[i];
    }
    cout<<rez;
}

Compilation message

safety.cpp: In function 'int main()':
safety.cpp:39:34: error: no matching function for call to 'max(i64, int)'
   39 |             rez+=max(last_l-x , 0);
      |                                  ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
safety.cpp:39:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   39 |             rez+=max(last_l-x , 0);
      |                                  ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
safety.cpp:39:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   39 |             rez+=max(last_l-x , 0);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
safety.cpp:39:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   39 |             rez+=max(last_l-x , 0);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
safety.cpp:39:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   39 |             rez+=max(last_l-x , 0);
      |                                  ^
safety.cpp:40:34: error: no matching function for call to 'max(i64, int)'
   40 |             rez+=max(x-last_r , 0);
      |                                  ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
safety.cpp:40:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   40 |             rez+=max(x-last_r , 0);
      |                                  ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
safety.cpp:40:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   40 |             rez+=max(x-last_r , 0);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
safety.cpp:40:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   40 |             rez+=max(x-last_r , 0);
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from safety.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
safety.cpp:40:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   40 |             rez+=max(x-last_r , 0);
      |                                  ^