int main() { in.sync_with_stdio(false); in >> n >> p >> c; for (int i=0; i<n; ++i) { int pas = 0; in >> pas; ++num_cows[pas - 1]; } for (int i=0; i<p; ++i) { for (int j=0; j<p; ++j) { length[i][j] = 0; } } for (int i=0; i<c; ++i) { int a, b; in >> a >> b; --a; --b; int len; in >> len; conn[a].push_back(way(b, len)); conn[b].push_back(way(a, len)); } shortest(); for (int i=0; i<p; ++i) { for (int j=0; j<p; ++j) { summary[j] += length[i][j] * num_cows[i]; } } int min_len = INT_MAX; for (int i=0; i<p; ++i) { if (summary[i] < min_len) { min_len = summary[i]; } } out << min_len << endl; return 0; }