Language: C++

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=int(a);i<int(b);++i)
#define SIZE 200005
#define INF 1000000005LL
#define MOD 1000000007
using namespace std;
typedef long long int ll;
typedef pair <int,int> P;
vector<vector<int>> data(20,vector<int>(20));
vector<int> price(20);
queue<ll> thr;
int n,m;
ll x;
void check(int i,int pri,vector<int>total){
    int ok=0;
    if(i==n){
        int cnt=0;
        rep(j,0,m){
            if(total.at(j)>=x){
                cnt++;
            }
        }
        if(cnt==m){
            thr.push(pri);
            ok=1;
            //cout << "wai" <<endl;
        }
    }else{
        check(i+1,pri,total);
        
        rep(j,0,m){
            total.at(j) += data.at(i).at(j);
        }
        check(i+1,pri+price.at(i),total);

    }
    return;

}
int main(){
    
    cin >> n >> m >> x;
    
    rep(i,0,n){
        cin >> price.at(i);
        rep(j,0,m){
            cin >> data.at(i).at(j);
        }
    }
    vector<int> total(m);
    check(0,0,total);
    if(!thr.empty()){
        ll minp = 1300000;
        while(!thr.empty()){
            minp=min(minp,thr.front());
            thr.pop();
        }
        cout << minp << endl;
    }else{
        cout << -1 << endl;
    }
  return 0;
}

Compiler output:
a.cc: In function 'void check(int, int, std::vector<int>)':
a.cc:32:28: error: reference to 'data' is ambiguous
   32 |             total.at(j) += data.at(i).at(j);
      |                            ^~~~
In file included from /usr/include/c++/14/string:53,
                 from /usr/include/c++/14/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:52,
                 from a.cc:1:
/usr/include/c++/14/bits/range_access.h:344:5: note: candidates are: 'template<class _Tp> constexpr const _Tp* std::data(initializer_list<_Tp>)'
  344 |     data(initializer_list<_Tp> __il) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:334:5: note:                 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])'
  334 |     data(_Tp (&__array)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:323:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)'
  323 |     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:312:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)'
  312 |     data(_Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
a.cc:9:21: note:                 'std::vector<std::vector<int> > data'
    9 | vector<vector<int>> data(20,vector<int>(20));
      |                     ^~~~
a.cc: In function 'int main()':
a.cc:47:20: error: reference to 'data' is ambiguous
   47 |             cin >> data.at(i).at(j);
      |                    ^~~~
/usr/include/c++/14/bits/range_access.h:344:5: note: candidates are: 'template<class _Tp> constexpr const _Tp* std::data(initializer_list<_Tp>)'
  344 |     data(initializer_list<_Tp> __il) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:334:5: note:                 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])'
  334 |     data(_Tp (&__array)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:323:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)'
  323 |     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:312:5: note:                 'template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)'
  312 |     data(_Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
a.cc:9:21: note:                 'std::vector<std::vector<int> > data'
    9 | vector<vector<int>> data(20,vector<int>(20));
      |                     ^~~~