zoukankan      html  css  js  c++  java
  • Sasha and His Trip CodeForces

    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-1);
    else
    {
    money = v + (2 + n-v)*(n-v-1)/2;
    printf("%d ", money);
    }
    }
    return 0;
    }

  • 相关阅读:
    进阶系列(8)——匿名方法与lambda表达式
    进阶系列(3)—— 序列化与反序列化
    进阶系列(4)——扩展方法
    数据库设计开发规范
    .Net 项目代码风格
    用JS获取地址栏参数的方法(超级简单)
    Ajax轮询 select循环输出
    【Jquery】jquery刷新页面(局部及全页面刷新)
    网页上 滚动代码 最简单的
    eazyui 或bootstrap table表格里插入图片,点击查看大图
  • 原文地址:https://www.cnblogs.com/hear0/p/10424456.html
Copyright © 2011-2022 走看看