/* _____ _ _ _ _ |_ _| |__ ___ / \ _ __ ___| |__ _ _| | | | | '_ \ / _ \ / _ \ | '_ \/ __| '_ \| | | | | | | | | | | __// ___ \| | | \__ \ | | | |_| | | |_| |_| |_|\___/_/ \_\_| |_|___/_| |_|\__,_|_| */ #include #include #include #define ll long long #define pb push_back #define ppb pop_back #define endl '\n' #define mii map #define msi map #define mis map #define rep(i,a,b) for(ll i=a;i=a;i--) #define trav(a, x) for(auto& a : x) #define pii pair #define vi vector #define vii vector> #define vs vector #define all(a) (a).begin(),(a).end() #define F first #define S second #define sz(x) (ll)x.size() #define hell 1000000007 #define lbnd lower_bound #define ubnd upper_bound /* For Debugging */ #define DEBUG cerr<<"/n>>>I'm Here<<, rb_tree_tag,tree_order_statistics_node_update> #define TIME cerr << "\nTime elapsed: " << setprecision(5) <<1000.0 * clock() / CLOCKS_PER_SEC << "ms\n"; #define DECIMAL(n) cout << fixed ; cout << setprecision(n); #define FAST ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace __gnu_pbds; using namespace std; #define PI 3.141592653589793 #define N 20 ll n,k,rem; ll a[N][N],dp[N][(1<>n>>k; ll sum=0; rep(i,0,n) { rep(j,0,n) { cin>>a[i][j]; sum+=a[i][j]; } } sum/=2; ll rem=n-k; rep(i,0,k) { rep(mask,0,(1<0;j=((j-1)&mask)) { dp[i][mask]=max(dp[i][mask],dp[i-1][j]+cost[i][(j^mask)]); } dp[i][mask]=max(dp[i][mask],dp[i-1][0]+cost[i][mask]); } } // rep(i,0,k) // { // rep(j,0,(1<>TESTS; while(TESTS--) { solve(); } TIME return 0; }