Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
我想的是错的,惭愧In Reply To:AC掉了,mid(x, y, z)写的有点问题WA的 Posted by:Sempr at 2006-03-08 23:01:06 > #include <stdio.h> > #define SIZE 101 > > int N; > int A[SIZE], B[SIZE]; > > int abs(int x) > { > return (x > 0) ? x : -x; > } > > int mid(int a, int b, int c) > { > int t; > if (a > b) > { > t = a; > a = b; > b = t; > } > if (a > c) > { > t = a; > a = c; > c = t; > } > if (b > c) > { > t = c; > c = b; > b = t; > } > return b; > } > > int main() > { > int i, ans; > while (scanf("%d", &N) != -1 && N > 0) > { > ans = 0; > for (i = 1; i <= N; i++) > { > scanf("%d", &A[i]); > } > if (N == 1) > { > printf("0\n"); > continue; > } > B[1] = A[1]; > for (i = 2; i < N; i++) > { > B[i] = mid(A[i], B[i - 1], A[i + 1]); > ans += abs(A[i] - B[i]); > ans += abs(B[i] - B[i - 1]); > } > ans += abs(A[N] - B[N - 1]); > B[N] = B[N - 1]; > printf("%d\n", ans); > } > return 0; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator