心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0

只要不停地移动就可以了,纸牌数可以为负(尽管与生活实际不符),但是可以这么认为:纸牌为负的堆最终可以被后面的纸牌补充。

以下是我的代码:

#include<stdio.h>
int n,a[100];
long ave=0,result=0;
void read()
{
     
int i;
     scanf(
"%d",&n);
     
for(i=0;i<n;i++)
     
{
        scanf(
"%d",&a[i]);
        ave
+=a[i];
     }

     ave
/=n;
}

void solve()
{
     
int i;
     
long sum=0;
     
for(i=0;i<n;i++)
        a[i]
-=ave;
     
for(i=0;i<n-1;i++)
     
{
        
if(a[i]>0)
        
{
           a[i
+1]+=a[i];
           result
++
        }

        
else if(a[i]<0)
        
{
            a[i
+1]-=-a[i];
            result
++;
        }

     }

}

void write()
{
     printf(
"%ld\n",result);
}

int main()
{
    read();
    solve();
    write();
return 0;
}

posted on 2010-01-06 19:15 lee1r 阅读(171) 评论(0)  编辑 收藏 引用 所属分类: 题目分类:基础/模拟

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理