Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <iostream>#include <algorithm>#include <vector>using namespace std;int a[4][4];int b[1010];int c[1010];vector<int> B,C;vector<int> tmp;int n,m,t,s;int cal_B(int b){tmp.clear();for(int i=0;i<n;i++){for(int j=0;j<m;j++){int tt=1<<(i*m+j);if((b&tt)!=0){tmp.push_back(a[i][j]);}}}if(tmp.size()>0) sort(tmp.begin(),tmp.end());else return 0;//if(tmp.size()>B.size())return 0;int ans=0;int j=B.size()-1;for(int i=tmp.size()-1;i>=0;i--){if(j<0)break;ans += B[j]*tmp[i];