长大 ACM新生杯试题二(个人解法)
B 贪欲のRevue
Description
在那条狭窄的小路上
只有这个人跑过的轨迹熠熠发亮
它仿佛亘古夜空的星河
又像引诱虫儿的清甜花香
延绵不绝的为清濑指引一条明路
——— 三浦紫苑《强风吹拂》
你喜欢跑步吗?可是彩虹岛的道路坑坑不平这怎么跑。幸好,彩虹岛的施工大队十分优秀。彩虹岛
有𝑛个路段,第𝑖个路段海拔为𝑎𝑖。对于每一个路段,施工大队能将其提高任意的高度。每个路段提高一个高
度将会消耗一个单位的花费。为了岛民们能更安全的跑步,所有路段需要提高到同一个海拔高度。彩虹岛
的𝐴𝐶𝑀集训队十分贫穷,所以他们想支付最少的花费给施工大队并同时获得一条可以跑步的道路。告诉一
下跟构造题打起来的slppp最少花费吧…
Input
输入第一行为一个整数𝑇(𝑇 ≤ 60),表示一共有𝑇组测试数据。
第一行为一个整数𝑛(1 ≤ 𝑛 ≤ 105
),表示路段数量。
第二行有𝑛个整数,其中第𝑖个整数𝑎𝑖(1 ≤ 𝑎𝑖 ≤ 10000),表示第𝑖个路段的海拔高度。
Output
对于每组测试数据输出一个整数𝑥,表示集训队的最少花费。
Sample Input
2
5
1 3 7 2 5
6
2 2 2 2 2 2
Sample Output
17
0
Hint
对于第一组样例,消耗:6 + 4 + 0 + 5 + 2 = 17个单位花费。
对于第二组样例,所有路段海拔高度相同,没有花费。
代码如下:
/*
长安大学彩虹岛ACM协会 新生杯试题:
彩虹岛比较体重
*/
#include<iostream>
using namespace std;
int main()
{
int T,a,b;
cout<<"请输入测试数据组数T(T<=30)"<<endl;
cin>>T;
for(int i=1;i<=T;++i)
{
cout<<"这是第"<<i<<"组测试"<<endl;
cout<<"请分别输入fdf和ctr的体重a和b,(a>=100,b<=150) "<<endl;
cin>>a;
cin>>b;
if(a>b)
{
cout<<"FDF"<<endl;
}
else
{
cout<<"DRAW"<<endl;
}
}
}
运行如下:
ACM新人,方法比较粗糙,如有不当,请多指教!