华为od机试(java): 充分发挥GPU的算力
题目描述:
- 题目描述:
- 为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行。
- 现在有一个任务数组,数组元素表示在这1s内新增的任务个数,且每秒都有新增任务。
- 假设GPU最多一次执行n个任务,一次执行耗时1s,在保证GPU不空闲的情况下,最少需要多长时间执行完成。
- 输入描述:
- 第一个参数为GPU最多执行的任务个数,取值范围1~10000
- 第二个参数为任务数组的长度,取值范围1~10000
- 第三个参数为任务数组,数字范围1~10000
- 输出描述:
- 执行完所有任务需要多少秒
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int len = scanner.nextInt();
int[] ints = new int[len];
for (int i = 0; i < len; i++) {
ints[i]=scanner.nextInt();
}
int rest=0;
for (int i = 0; i < len; i++) {
rest=(rest+ints[i])-n>=0?(rest+ints[i]-n):0;
}
if (rest==0){
System.out.println(len);
}else {
System.out.println((rest%n==0?rest/n:(rest/n)+1)+len);
}
}
}