Advertisement
SuitNdtie

Election

Apr 24th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include<stdio.h>
  2. typedef long long int ll;
  3. ll table[1010];
  4. ll arr[1010];
  5. ll min(ll a,ll b){
  6.     return (a < b ? a : b);
  7. }
  8. ll c;
  9.  
  10. ll recur(ll x){
  11.     ll mina = 2e18;
  12.     if(x == 0)return 0;
  13.    
  14.     if(table[x] != -1)return table[x];
  15.    
  16.    
  17.     if(table[x] == -1){
  18.         for(int i=1;i<=x;i++){
  19.             mina = min(mina,recur(i-1) + ((arr[x] - arr[i])*(arr[x] - arr[i])) + c );
  20.         }
  21.         table[x] = mina;
  22.     }
  23.    
  24.     return table[x];
  25. }
  26.  
  27. int main()
  28. {
  29.     for(int i=1;i<1010;i++)table[i] = -1;
  30.     int n;
  31.     scanf("%d %lld",&n,&c);
  32.     for (int i=1;i<=n;i++){
  33.         scanf("%lld",&arr[i]);
  34.     }
  35.     printf("%lld",recur(n));
  36. /*  for(int i=1;i<=m;i++){
  37.         ll x;
  38.         scanf("%lld",&x);
  39.         printf("%lld\n",recur(x));
  40.     }*/
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement