終於過了QAQ...發現是lld->I64d的問題= =搞超久
#include<stdio.h>
#include<stdlib.h>
long long int min(long long int a,long long int b){if(a>b)return b;else return a;}
long long int abs(long long int a){if(a>=0)return a;else return -a;}
int main()
{
int T;scanf("%d",&T);
long long int dy[1001];
long long int dp[1001];
for(int lx=1;lx<=T;lx++)
{
int cnt;scanf("%d",&cnt);
for(int ly=1;ly<=cnt;ly++)
scanf("%I64d",&dy[ly]);
dp[1]=0;dp[2]=abs(dy[2]-dy[1]);
for(int ly=3;ly<=cnt;ly++)
dp[ly]=min(dp[ly-1]+abs(dy[ly]-dy[ly-1]),dp[ly-2]+abs(dy[ly]-dy[ly-2]));
printf("%I64d\n",dp[cnt]);
}
return 0;
}
沒有留言:
張貼留言