Code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
vector<vector<int>> dis(b, vector<int>(b));
for (int i = 0; i < b; ++i)
for (int j = 0; j < b; ++j)
cin >> dis[i][j];
int min_cost = 2147483647;
for (int first = 0; first < b; ++first) {
vector<bool> pur(b, false);
pur[first] = true;
int aaa = a;
for (int i = 1; i < b; ++i) {
int min_dis = 2147483647;
int next = -1;
for (int j = 0; j < b; ++j)
if (!pur[j])
if (dis[first][j] < min_dis) {
min_dis = dis[first][j];
next = j;
}
pur[next] = true;
aaa += min_dis;
}
min_cost = min(min_cost, aaa);
}
cout << min_cost << endl;
}