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 |
怎么会WA呢?思路很简单啊#include <stdio.h> void main(void) { int n,m; unsigned int a[50005],b[50005],*p,*q,*r; int i,k; unsigned c,min,tm; while(1) { scanf("%d",&n); if(n==0) break; for(i=1;i<=n;i++) scanf("%d",&a[i]); m = 0;a[0]=b[0]=1000000005; p = a+1; q = b+1; c = 2; while(n>1) { min = p[n] = 1000000005; k = 0; for(i=0;i<n;i++) { tm = p[i]+p[i+1]; if(tm<=c) { m += tm; q[k] = tm; i++; } else q[k] = p[i]; if(q[k]+q[k-1]<min) min = q[k-1]+q[k]; k++; } c = min; r = p; p = q; q = r; n = k; } printf("%u\n",m); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator