Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.52 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int N = 105;
  4. int n, v, DP[N][N], result = 1e9 + 7;
  5. main()
  6. {
  7.     cin >> n >> v;
  8.    
  9.     memset(DP, 0x3f3f3f3f, sizeof(DP));
  10.     DP[1][0] = 0;
  11.     for (int i = 1; i <= n; i++){
  12.         for (int j =0; j<=v;j++){
  13.             for (int l=1;l<=v-j;l++){
  14.                 DP[i][j + l] = min( DP[i][j + l], DP[i][j] + l * i );
  15.             }
  16.             if (j > 0)
  17.                 DP[i + 1][j - 1] = min( DP[i + 1][j - 1], DP[i][j] );
  18.         }
  19.     }
  20.     for (int j = 0; j <= v; j++)
  21.         result = min( result, DP[n][j] );
  22.        
  23.     cout << result << endl;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement