問題はこちら
No.191 供託金 - yukicoder
得票数を合計して10で割りボーダーラインをだし、それ以下である人数を数えて30倍する
int main(){ int n,i,s=0,k=0,c[110]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",c+i); s+=c[i]; } s/=10; for(i=0;i<n;i++)if(c[i]<=s)k++; printf("%d",k*30); return 0; }
縮める。読み飛ばしは頑張る
n,i,a[100]; main(s){ for(;~scanf("%d",a+i);s+=a[i++]*!!i); for(;--i;n+=a[i]*10<=s); n=!printf("%d",n*30); }
ループ圧縮。aのサイズは99にしても通る
n,i,a[99]; main(s){ for(;~scanf("%d",a+i)?s+=a[i++]*!!i:(n+=a[--i]*10<=s,i-1);); n=!printf("%d",n*30); }
100B
ところでN≦100なので、これを投票数に加算してしまってもボーダーラインは10程度しか変わらないのでもしかして大丈夫なのでは???
//嘘解法 n,i,a[99]; main(s){ for(;~scanf("%d",a+i)?s+=a[i++]:(n+=a[--i]*10<=s,i-1);); n=!printf("%d",n*30); } //9 //1 0 0 0 0 0 0 0 0 //という入力で倒せる
96B
2016/10/17追記
いつの間にかリジャッジで落とされていた。どうやら配列サイズを99にしたらREになるらしい
また、嘘解法じゃない方について、Nをsに加算してしまっても比較の時に引けばいいので1B縮む
結局±0
n,i,a[999]; main(s){ for(;~scanf("%d",a+i)?s+=a[i++]:(n+=a[--i]*10<=s-*a,i-1);); n=!printf("%d",n*30); }
100B