問題はこちら
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);}