posts - 0,comments - 0,trackbacks - 0
排序以后统计前一半的每个元素的一半值就行,水题。
#include<stdio.h>
#include
<stdlib.h>
long i,k,ans;
long s[10001];
void sort(long l,long r)
{
  
long i,j,temp;
  
if (l>=r)
    
return;
  i
=l;j=r;temp=s[i];
  
while (i<j)
  {
    
while (i<&& s[j]>temp)
      j
--;
    
if (i<j)
      {
        s[i]
=s[j];
        i
++;
      }
    
while (i<&& s[i]<temp)
      i
++;
    
if (i<j)
    {
      s[j]
=s[i];
      j
--;
    }
  }
  s[i]
=temp;
  sort(l,i
-1);
  sort(i
+1,r);
}
int main()
{
  scanf(
"%ld",&k);
  
for (i=1;i<=k;i++)
    scanf(
"%ld",&s[i]);
  sort(
1,k);
  k
=k/2+1;
  
for (i=1;i<=k;i++)
    ans
+=s[i]/2+1;
  printf(
"%ld",ans);
}

posted on 2011-07-05 22:38 梦转千寻 阅读(30) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理