#include <bits/stdc++.h>
using namespace std;
using ll = int;
using vll = vector<ll>;
using vvl = vector<vll>;
using pll = pair<ll,ll>;
using vpl = vector<pll>;
using vvp = vector<vpl>;
#define f first
#define s second
#define pb push_back
#define all(v) v.begin(), v.end()
vvl pr;
ll C, n, k, kw;
vvl solve(ll i, ll le, vll mx){
if(le==0)return {mx};
if(i==n)return {};
vvl ans = solve(i+1, le, mx);
for(ll j = 0; j < k; ++j)mx[j]=max(mx[j],pr[i][j]);
vvl tr = solve(i+1, le-1, mx);
for(auto i:tr)ans.pb(i);
return ans;
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(NULL);
cin >> n >> k >> C;
kw=(1<<k);
pr = vvl(n, vll(k));
for(auto& i:pr){
for(auto& j:i){
cin >> j;
}
}
vll mx(k);
vvl ret = solve(0,k,mx);
vll ord;
for(auto i: ret)ord.pb(accumulate(all(i),0ll));
sort(all(ord), greater());
cout << ord[C-1];
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |