Sasha and His Trip CodeForces - 1113A

Sasha is a very happy guy, that's why he is always on the move. There are nn cities in the country where Sasha lives. They are all located on one straight line, and for convenience, they are numbered from 11 to nn in increasing order. The distance between any two adjacent cities is equal to 11 kilometer. Since all roads in the country are directed, it's possible to reach the city yy from the city xx only if x<yx<y.

Once Sasha decided to go on a trip around the country and to visit all nn cities. He will move with the help of his car, Cheetah-2677. The tank capacity of this model is vv liters, and it spends exactly 11 liter of fuel for 11 kilometer of the way. At the beginning of the journey, the tank is empty. Sasha is located in the city with the number 11 and wants to get to the city with the number nn. There is a gas station in each city. In the ii-th city, the price of 11 liter of fuel is ii dollars. It is obvious that at any moment of time, the tank can contain at most vv liters of fuel.

Sasha doesn't like to waste money, that's why he wants to know what is the minimum amount of money is needed to finish the trip if he can buy fuel in any city he wants. Help him to figure it out!

Input

The first line contains two integers nn and vv (2n1002≤n≤100, 1v1001≤v≤100)  — the number of cities in the country and the capacity of the tank.

Output

Print one integer — the minimum amount of money that is needed to finish the trip.

Examples

Input
4 2
Output
4
Input
7 6
Output
6

本题难度并不大,sasha共需使用n-1升油,车载容量为v,因为第i个城市油价为i,且需算出最便宜的加油方案,可知必须尽量在靠前的站点加油。

因此,此时出现两种情况。

  1. 车载容量v要大于或等于n-1 :此时只在第一站加够油即可;
  2.车载容量v要小于n-1 :此时应在第一站加满v,接下来每站都补充一升油直至v升油已足够到达目的地。

#include<stdio.h>
int main()
{
int n, v, money;
while(~scanf("%d%d", &n, &v))
{
if(n-2<v)
printf("%d\n", n-1);
else
{
money = v + (2 + n-v)*(n-v-1)/2;
printf("%d\n", money);
}
}
return 0;
}

扫描二维码关注公众号,回复: 5292920 查看本文章

猜你喜欢

转载自www.cnblogs.com/hear0/p/10424456.html