C. 酒店【入门】

内存限制:256 MiB 时间限制:1000 ms 输入文件: hotel.in 输出文件: hotel.out
题目类型:传统 评测方式:文本比较

题目描述

小 C 开了一家酒店,叫做 CC Hotel。

一天,CC Hotel 来了 n 位客人。小 C 需要把他们都安排在酒店的某一层中。每个房间中只能安排一位客人。

这一层共有 m 间房间,这 m 间房间都是空的,且这 m 间房间形成了一个环形,即对于所有的 1 \le x \le m ,都有第 x 间房间与第 ((x \bmod m)+1) 间房间相邻,第 ((x \bmod m)+1) 间房间与第 x 间房间相邻,其中 x \bmod m 表示 x 除以 m 得到的余数。

n 位客人都十分挑剔,他们希望与自己的房间相邻的房间中没有人。对于某一位客人,若与他的房间相邻的房间中,有 k 间房间有人,则这位客人会产生 k 点愤怒值。

你需要帮助小 C 安排房间,使得所有客人的愤怒值之和最小,并输出所有客人的愤怒值之和的最小值。

输入格式

两个整数 n,m

输出格式

一个整数,表示所有客人的愤怒值之和的最小值。

样例

样例输入 #1

3 5

样例输出 #1

2

【样例解释 #1】

对于这 5 间房间,其中一组满足条件的安排方案为:不住人、住人、住人、不住人、住人。

可以证明所有客人的愤怒值之和的最小值为 2

样例输入 #2

1 4

样例输出 #2

0

数据范围与提示

【数据范围】

对于 100\% 的数据, 1 \le n \le 100 3 \le m \le 100 ,保证 n \le m

测试点编号 特殊性质
1\sim3 保证 2n\le m
4\sim6 保证 m=n+1
7\sim10

【入门】