#include using namespace std; typedef long long ll; typedef long double ld; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> n >> v >> l; vector> dp(n+1,vector(v+1,INF)); dp[0][v]=0; vector x(n+1),u(n),w(n); for(int i=0;i> x[i+1] >> u[i] >> w[i]; } for(int i=0;i=x[i+1]-x[i]){ chmin(dp[i+1][j-(x[i+1]-x[i])],dp[i][j]); chmin(dp[i+1][min(v,j-(x[i+1]-x[i])+u[i])],dp[i][j]+w[i]); } } } ll ans=INF; for(int i=l-x[n];i<=v;i++){ chmin(ans,dp[n][i]); } cout <<(ans==INF?-1:ans) << endl; }