PKU1247

無理矢理scanfを1回に。

i,j,c,z[99],s=" stops at position ";
main(){
  for(;scanf("%d",z+i),*z;j?i=j=c=!printf(c?"No equal partitioning.\n":"Sam%s%d and Ella%s%d.\n",s,j,s,j+1):0)
    for(c+=i?z[i]:0;++i>*z&c>0;c-=z[++j]*2);
}


追記:Ozyさん(http://d.hatena.ne.jp/Ozy/20060711#p2)にインスパイヤされてもうちょっと短縮。

a[99];
i,j;
main(c){
  for(;~scanf("%d",a+i);j?i=j=!printf(c?"No equal partitioning.\n":
"Sam%s%d and Ella%s%d.\n",i,j,i=" stops at position ",j+1):0)
    for(c+=i?a[i]:-c;++i>*a&c>0;c-=a[++j]*2);
}