zoukankan      html  css  js  c++  java
  • Water Buying

    Water Buying
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Polycarp wants to cook a soup. To do it, he needs to buy exactly nn liters of water.

    There are only two types of water bottles in the nearby shop — 11 -liter bottles and 22 -liter bottles. There are infinitely many bottles of these two types in the shop.

    The bottle of the first type costs aa burles and the bottle of the second type costs bb burles correspondingly.

    Polycarp wants to spend as few money as possible. Your task is to find the minimum amount of money (in burles) Polycarp needs to buy exactly nn liters of water in the nearby shop if the bottle of the first type costs aa burles and the bottle of the second type costs bb burles.

    You also have to answer qq independent queries.

    Input

    The first line of the input contains one integer qq (1q5001≤q≤500 ) — the number of queries.

    The next nn lines contain queries. The ii -th query is given as three space-separated integers nini , aiai and bibi (1ni1012,1ai,bi10001≤ni≤1012,1≤ai,bi≤1000 ) — how many liters Polycarp needs in the ii -th query, the cost (in burles) of the bottle of the first type in the ii -th query and the cost (in burles) of the bottle of the second type in the ii -th query, respectively.

    Output

    Print qq integers. The ii -th integer should be equal to the minimum amount of money (in burles) Polycarp needs to buy exactly nini liters of water in the nearby shop if the bottle of the first type costs aiai burles and the bottle of the second type costs bibi burles.

    Input

    4
    10 1 3
    7 3 2
    1 1000 1
    1000000000000 42 88
    Output
    10
    9
    1000
    42000000000000
     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 #define ll long long 
     5 int main(int argc, char const *argv[])
     6 {
     7     int n;
     8     cin>>n;
     9     ll k,a,b;
    10     for( int i=0; i<n; i++ ){
    11         cin>>k>>a>>b;
    12         if(a*2<=b) cout<<k*a<<endl;
    13         else{
    14             if(k%2==0) cout<<k/2*b<<endl;
    15             else cout<<k/2*b+a<<endl;
    16         }
    17     }
    18     return 0;
    19 }
    有些目标看似很遥远,但只要付出足够多的努力,这一切总有可能实现!
  • 相关阅读:
    Angular使用总结 --- 如何正确的操作DOM
    JavaScript 全屏展示
    JavaScript getter和setter
    Angular使用总结 --- 模型驱动表单
    JavaScript 那些不经意间发生的数据类型自动转换
    JavaScript 判断对象中是否有某属性
    Angular使用总结 --- 搜索场景中使用rxjs的操作符
    Angular使用总结 --- 以密码确认为例实现模版驱动表单的自定义校验
    js几种继承模式(传统,call/apply,共享原型,圣杯模式)
    call和apply的用法与区别
  • 原文地址:https://www.cnblogs.com/Bravewtz/p/10459409.html
Copyright © 2011-2022 走看看