题目
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n , mapp[205][205];
bool flag[205];
signed main()
{
cin >> n;
for(int i = 1;i <= n - 1;i ++)
for(int j = 1;j <= n - i;j ++)
cin >> mapp[i][i + j];
int dis[205];
memset(dis , 0x7f , sizeof(dis));
priority_queue<pair<int , int>>q;
dis[1] = 0;
q.push(make_pair(0 , 1));
while(!q.empty()){
int u = q.top().second;
q.pop();
if(flag[u])
continue;
flag[u] = true;
for(int i = 1;i <= n;i ++){
if(dis[i] > dis[u] + mapp[u][i]){
dis[i] = dis[u] + mapp[u][i];
q.push(make_pair(-dis[i] , i));
}
}
}
cout << dis[n] << endl;
return 0;
}