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;
    }

  • 相关阅读:
    java 保留2位小数 转载
    android表格效果ListView隔行变色
    安卓学习之排版RelativeLayout表格布局
    安卓学习之如何关闭所有的activity
    安卓学习之android 数据传递详解(Serialization、Parcelable、Parcel、Intent、Bundle)
    [转]Android 实现TextView中文字链接的方式
    OOP编程iBatis 学习笔记之二 单表增删改操作
    OOP编程iBatis 学习笔记之三 2个表或者多表关联查询
    安卓学习之排版TableLayout表格布局
    (原创)C#反射知识分享之二
  • 原文地址:https://www.cnblogs.com/hear0/p/10424456.html
Copyright © 2011-2022 走看看