torus711 のアレ

主に競技プログラミングの問題について書きます.PC 以外だと数式が表示されないかもしれないです

AtCoder Beginner Contest #008, A : アルバム

問題概要

 正整数 S, T ( 1 \leq S \leq T \leq 1,000 ) が与えられる。S \leq x \leq T を満たす整数 x の個数を求めよ。

解法

 S 以上 T 以下の正整数の数は、T 以下の生成数の数から S 未満の正整数の数を引いた個数になります。T 以下の正整数が T 個、その内 S 未満の正整数の個数が S - 1 個なので、S 以上 T 以下の正整数の個数は T - ( S - 1 ) = T - S + 1 個です。

コード

getInts = map ( read :: String -> Int ) . words <$> getLine
mp [ a, b ] = ( a, b )

main = print . succ . uncurry (-) . swap . mp =<< getInts