[USACO12MAR]园林绿化Landscaping

题目描述

Farmer John is building a nicely-landscaped garden, and needs to move a large amount of dirt in the process.

The garden consists of a sequence of N flowerbeds (1 <= N <= 100), where flowerbed i initially contains A_i units of dirt.  Farmer John would like to re-landscape the garden so that each flowerbed i instead contains B_i units of dirt.  The A_i's and B_i's are all integers in the range 0..10.

To landscape the garden, Farmer John has several options: he can purchase one unit of dirt and place it in a flowerbed of his choice for X.HecanremoveoneunitofdirtfromaflowerbedofhischoiceandhaveitshippedawayforX.HecanremoveoneunitofdirtfromaflowerbedofhischoiceandhaveitshippedawayforY.  He can also transport one unit of dirt from flowerbed i to flowerbed j at a cost of $Z times |i-j|.  Please compute the minimum total cost for Farmer John to complete his landscaping project.

 

输入

* Line 1: Space-separated integers N, X, Y, and Z (0 <= X, Y, Z <= 1000).
* Lines 2..1+N: Line i+1 contains the space-separated integers A_i and B_i.

 

输出

* Line 1: A single integer giving the minimum cost for Farmer John's landscaping project.

 

样例输入 

4 100 200 11 42 33 24 0

样例输出 

210

题解:这道题目由于数据比较小,所以可以将数据来张开处理。随后,用动态规划解决。

#include 
#include 
int n,x,y,z,la,lb,a[1005],b[1005],f[1005][1005];
using namespace std;
inline int minn(int x,int y)
{
	return x

你可能感兴趣的:(DP)