https://yukicoder.me/problems/no/810
解説
https://yukicoder.me/submissions/338175
Mで割った余りを並べてみると、
0 1 2 3 ... M-1 0 1 2 3 ...
となる。
ここからどこでもいいので、連続してM個取り出すとそれはすべて異なっていることが分かる。
よって、連続するR-L+1個の区間はM個以下であれば、全て異なり、
M個より大きければ、あとは繰り返しなので、あまりとして考えられる整数はM個である。
よって、min(R-L+1, M)が答え。
int L, R, M; //--------------------------------------------------------------------------------------------------- void _main() { cin >> L >> R >> M; int ans = min(R - L + 1, M); cout << ans << endl; }