#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int a[n], h[n], c[n], g[n];
for(int i=0;i<n;i++) {
cin >> a[i] >> h[i] >> c[i];
a[i]--;
}
memcpy(g,h,sizeof(g));
sort(g,g+n);
for(int i=0;i<n;i++)
h[i] = lower_bound(g,g+n,h[i])-g;
long long dp[n][n];
memset(dp,0,sizeof(dp));
for(int i=n;i--;) {
for(int j=0;j<n;j++)
if(j!=h[i])
dp[i][j] += c[i];
for(int j=n-1;j--;)
dp[i][j]=min(dp[i][j],dp[i][j+1]);
if(i)
for(int j=0;j<n;j++)
dp[a[i]][j]+=dp[i][j];
}
cout << dp[0][0];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |