func_code_string: #include <bits/stdc++.h>   inline long long int min(long long int a, long long int b) {     return (a < b) ? a : b;   }   long long int dp[303][303], cost[303][303];   int main() {     int n, m, k, o, j, i;     scanf( %d %d %d , &n, &m, &o);     for (i = 0; i <= n; i++)       for (j = 0; j <= n; j++) dp[i][j] = cost[i][j] = 10000000000000LL;     for (i = 0; i < m; i++) {       int l, r, c;       scanf( %d %d %d , &l, &r, &c);       cost[l][r] = min(cost[l][r], c);     }     for (i = 1; i <= n; i++)       for (j = 1; j <= i; j++)         for (k = i; k <= n; k++) {           cost[j][i] = min(cost[j][i], cost[j][k]);           cost[i][k] = min(cost[i][k], cost[j][k]);         }     for (i = 0; i <= n; i++) {       dp[i][0] = 0;       for (j = 1; j <= i; j++) {         dp[i][j] = min(cost[i - j + 1][i], dp[i - 1][j]);         for (k = 1; k < j; k++)           dp[i][j] = min(dp[i][j], cost[i - k + 1][i] + dp[i - k][j - k]);       }     }     if (dp[n][o] != 10000000000000LL)       printf( %I64d n , dp[n][o]);     else       printf( -1 n );     return 0;   }   