Submission #1362584

#TimeUsernameProblemLanguageResultExecution timeMemory
1362584mayacDetecting Molecules (IOI16_molecules)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

std::vector<int> find_subset(int l, int u, std::vector<int> w2) {
    ll n=w2.size(),s=0;
    vector<pair<ll,int>> w(n);
    for(int i=0;i<n;i++)w[i]={w2[i],i};
    sort(w.begin(),w.end());
    for(int i=0;i<n;i++){
        if(w[i].first>=l&&w[i].first<=u)return {w[i].second};
        s+=w[i].first;
    }
    if(s<l||w[0].first>u)return std::vector<int>(0);
    vector<int> ans;
    int c=0;
    s=0;
    for(c;c<n&&s<u;c++){
        s+=w[n-1-c].first;
        ans.push_back(w[n-1-c].second);
        if(s>=l&&s<=u)return ans;
    }
    for(int i=0;i<min(n-c,c);i++){
        ans[i]=w[i].second;
        s=s-w[n-1-i].first+w[i].first;
        if(s>=l&&s<=u)return ans;
    }
    return std::vector<int>(0);
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:23:22: error: no matching function for call to 'min(ll, int&)'
   23 |     for(int i=0;i<min(n-c,c);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 molecules.cpp:1:
/usr/include/c++/13/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++/13/bits/stl_algobase.h:233:5: note:   template argument deduction/substitution failed:
molecules.cpp:23:22: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   23 |     for(int i=0;i<min(n-c,c);i++){
      |                   ~~~^~~~~~~
/usr/include/c++/13/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++/13/bits/stl_algobase.h:281:5: note:   template argument deduction/substitution failed:
molecules.cpp:23:22: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   23 |     for(int i=0;i<min(n-c,c);i++){
      |                   ~~~^~~~~~~
In file included from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_algo.h:5775:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(initializer_list<_Tp>)'
 5775 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5775:5: note:   template argument deduction/substitution failed:
molecules.cpp:23:22: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   23 |     for(int i=0;i<min(n-c,c);i++){
      |                   ~~~^~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5785:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(initializer_list<_Tp>, _Compare)'
 5785 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5785:5: note:   template argument deduction/substitution failed:
molecules.cpp:23:22: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   23 |     for(int i=0;i<min(n-c,c);i++){
      |                   ~~~^~~~~~~