読者です 読者をやめる 読者になる 読者になる

メモ

yukicoderで遊んでいる競プロゆるふわ勢

yukicoder No.333 門松列を数え上げ

問題はこちら
No.333 門松列を数え上げ - yukicoder

場合分け
(i)A<Bのとき
真ん中が最長になるしか無いので、CはBより小さく、かつ、Aとは等しくない数になる
1~B-1のうちAを除くので、結局(B-2)通り
(ii)A>Bのとき
真ん中が最短になるしか無いので、CはBより大きく、かつ、Aとは等しくない数になる
B+1~2*10^9のうちAを除くので、結局(2*10^9-B-1)通り

int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d",a>b?2000000000-b-1:b-2);
	return 0;
}

ぎゅ

a;main(b){scanf("%d%d",&a,&b);a=!printf("%d",a=a>b?2e9-b-1:b-2);}

65B

16/06/18追記
自明な短縮が残ってた

a;main(b){scanf("%d%d",&a,&b);a=!printf("%d",a=a>b?2e9+~b:b-2);}