| 提出番号 | 1601 |
|---|---|
| 提出者 | ecasdqina |
| 言語 | C++ |
| 提出日時 | 2018-08-04 13:14:56 |
| 問題名 | (70)アルゴリズムのお勉強 |
| 結果 | TLE |
| 点数 | 0% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | WA | 0% | 4ms | 8080KB |
| 2 | WA | 0% | 2ms | 8016KB |
| 3 | WA | 0% | 5ms | 8672KB |
| 4 | WA | 0% | 2ms | 8448KB |
| 5 | WA | 0% | 2ms | 8432KB |
| 6 | WA | 0% | 1184ms | 8432KB |
| 7 | WA | 0% | 5ms | 7824KB |
| 8 | WA | 0% | 2ms | 8704KB |
| 9 | WA | 0% | 2ms | 8416KB |
| 10 | WA | 0% | 5ms | 7520KB |
| 11 | TLE | 0% | 20002ms | 0KB |
| 12 | TLE | 0% | 20002ms | 0KB |
| 13 | TLE | 0% | 20002ms | 0KB |
| 14 | TLE | 0% | 20002ms | 0KB |
| 15 | TLE | 0% | 20002ms | 0KB |
| 16 | WA | 0% | 58ms | 7776KB |
| 17 | WA | 0% | 5ms | 8448KB |
| 18 | WA | 0% | 5ms | 7792KB |
| 19 | TLE | 0% | 20002ms | 0KB |
| 20 | TLE | 0% | 20001ms | 0KB |
| 21 | WA | 0% | 49ms | 8736KB |
| 22 | TLE | 0% | 20002ms | 0KB |
| 23 | WA | 0% | 1023ms | 8272KB |
| 24 | TLE | 0% | 20002ms | 0KB |
| 25 | TLE | 0% | 20002ms | 0KB |
| 26 | TLE | 0% | 20002ms | 0KB |
| 27 | TLE | 0% | 20002ms | 0KB |
| 28 | TLE | 0% | 20001ms | 0KB |
| 29 | TLE | 0% | 20002ms | 0KB |
| 30 | TLE | 0% | 20002ms | 0KB |
#include <bits/stdc++.h>
typedef long long ll;
using std::cout;
using std::endl;
using std::cin;
int n;
std::vector<int> a;
std::vector<std::vector<int>> li;
int dfs(std::vector<int> vec = std::vector<int>(0)) {
if(vec.size() == n) {
int ret = 0;
for(int i = 0; i < n; i++) {
ret += a[vec[i]];
for(int j = 0; j < i; j++) {
ret -= li[vec[j]][vec[i]];
}
}
return ret;
}
int mi = 1e9;
for(int i = 0; i < n; i++) {
for(int j = 0; j < vec.size(); j++) if(vec[j] == i) continue;
vec.push_back(i);
mi = std::min(mi, dfs(vec));
vec.pop_back();
}
return mi;
}
int main(){
cin >> n; a.resize(n); li.resize(n, std::vector<int>(n));
for(int i = 0; i < n; i++) cin >> a[i];
for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) cin >> li[i][j];
cout << dfs() << endl;
return 0;
}