4.19华为暑期实习笔试华为软件编程三道机考(第一道)C++
4.19华为暑期实习笔试华为软件编程三道机考(第一道)C++
1、服务器能耗统计
服务器有三种运行状态:空载、单任务、多任务,每个时间片的能耗的分别为1、3、4;
每个任务由起始时间片和结束时间片定义运行时间;
如果一个时间片只有一个任务需要执行,则服务器处于单任务状态
如果一个时间片有多个任务需要执行,则服务器处于多任务状态;
给定一个任务列表,请计算出从第一个任务开始,到所有任务结束,服务器的总能耗。
U
t
int main()
10
11
解答要求
时间限制: C/C++ 100ms,其他语言: 200ms
内存限制:C/C++128MB,其他语言:256MB
输入
一个只包含整数的二维数组:
1. num
2.startO end0
3 .start1 end1
4.
第一行的数字表示一共有多少个任务
后续每行包含由空格分割的两个整数,用于确定每一个任务的起始时间片和结束时间片;
任务执行时间包含起始和结束时间片,即任务执行时间是左闭右闭的;
结束时间片一定大于等于起始时间片;
时间片范围:[010000001;
任务数范围:[1,10000];
输出
个整数,代表服务器的总能耗。
样例1
复制 输入:2
25
89
复制 输出: 20
解释: [0,1]没有任务需要执行,能耗为0[2,5] 处于单任务状态,能耗为34 = 12[6,7] 处于空载状态,能耗为12 =2[8,9] 处于单任务状态,能耗为3*2 =6共计能耗为12 +2 +620
样例2
制 输入:3
4816
复制 输出: 34
解释: [1,1] 处于单任务状态能耗为3*1=3[2,8] 处于多任务状态,,能耗为4*7=28[9,9] 处于单任务状态,能耗为3*1 =3共计能耗为3 + 28 + 3 = 34
答案:
#include