#include #include using namespace std; const int INF = 1000000; int main(){ int N; cin >> N; vector S(N); for (int i = 0; i < N; i++){ cin >> S[i]; } int M; cin >> M; vector> E(N, vector(N, INF)); for (int i = 0; i < M; i++){ int A, B, C; cin >> A >> B >> C; E[A][B] = C; E[B][A] = C; } for (int i = 0; i < N; i++){ for (int j = 0; j < N; j++){ for (int k = 0; k < N; k++){ E[j][k] = min(E[j][k], E[j][i] + E[i][k]); } } } int ans = INF; for (int i = 1; i < N - 1; i++){ for (int j = 1; j < N - 1; j++){ if (i != j){ ans = min(ans, E[0][i] + S[i] + E[i][j] + S[j] + E[j][N - 1]); } } } cout << ans << endl; }