入门...

 1 #include<cstdio>
 2 #define abs(a) ((a)>=0?(a):(-(a)))
 3 #define min(a,b) ((a)<(b)?(a):(b)) 
 4 #define maxn 100050
 5 using namespace std;
 6 int dp[maxn],a[maxn];
 7 int main(){
 8     int n,k=2;
 9     scanf("%d",&n);
10     for (int i=1;i<=n;i++)
11     scanf("%d",&a[i]),dp[i]=1e9;
12     dp[1]=0;
13     for (int i=2;i<=n;i++){
14         for (int j=1;j<=k;j++)
15         if (i-j>0) dp[i]=min(dp[i],dp[i-j]+abs(a[i-j]-a[i]));
16     }
17     printf("%d\n",dp[n]);
18     return 0;
19 }
A and B

相关文章: