题目描述

最近叶老师换了个带吸管的水杯。

贝贝发现当叶老师使用带吸管的水杯时,每天会喝 x 毫升的水。而使用不带吸管的水杯时,每天会喝 y 毫升的水。

请问在 n 天的时间内,叶老师喝水量的上限与下限相差多少?

输入

第一行为空格隔开的三个整数 n,x,y。

输出

一行一个整数,表示题意中的差值。

样例二:假设输入 4 100 100 则输出 0  样例三:假设输入 5 100 1000 则输出4500。

样例输入

3 10 5 

样例输出

15

提示

样例解释

  • 样例一中,3 天内最多喝 3×10=30 的水,最少喝 3×5=15 的水,相差 30−15=15
  • 样例二中,4 天内最多喝 4×100=400 的水,最少喝 4×100=400 的水,相差 400−400=0
  • 样例三中,5 天内最多喝 5×1000=5000 的水,最少喝 5×100=500 的水,相差 5000−500=4500

    数据规模与约定

  • 对于 100% 的数据,1≤n,x,y≤10^{6}

    • 子任务 1(30 分):保证 x=y
    • 子任务 2(30 分):保证 x>y
    • 子任务 3(30 分):没有特殊限制。

分析

只需取x*n和y*n的最大值,用最大值减去最小值,但其实还可以简化

其实不管用大的减小的还是小的减大的,数都一样,只是正负号的问题,最后再取绝对值

如样例一:\left | 3*10-3*5 \right |=\left | 15 \right |=15,\left | 3*5-3*10 \right |=\left | -15 \right |=15,结果一样

   样例二:\left | 4*100-4*100 \right |=\left | 0 \right |=0,\left | 4*100-4*100 \right |=\left | 0 \right |=0,结果一样

   样例三:\left | 5*1000-5*100 \right |=\left | 4500 \right |=4500,\left |5*100-5*1000 \right |=\left | -4500 \right |=4500,结果                     一样

(绝对值在c++中为:abs(   )

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long n,x,y;
    cin>>n>>x>>y;
    cout<<abs(x*n-y*n);
    return 0;
}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部