夜晚刷题不懂就问
  • 板块题目总版
  • 楼主一杯红尘
  • 当前回复9
  • 已保存回复9
  • 发布时间2021/8/15 22:01
  • 上次更新2023/11/4 10:32:08
查看原帖
夜晚刷题不懂就问
537608
一杯红尘楼主2021/8/15 22:01

题目描述

现在给你一个正整数数组A和一个正整数k。 希望你求出最大的因数d满足:

upper(a0/d)+upper(a1/d)+upper(a2/d)+……+upper(ai/d)>=k

题目保证有解。

条件:

1.d为整数且不超过数组A中的最大值

2.upper()是向上取整(1.1向上取整是2)

输入格式 第一行是两个正整数n和k(1 ≤ N ≤ 100000,1 ≤ K ≤ 1000000),n是数组A的长度,k是正整数。

接下来的n行,每行有一个1到1000000之间的正整数,表示数组A中的元素

输出格式

输出最大的因数d

输入输出样例

输入 #1

5 6
1 2 3 4 5 

输出 #1

4

说明/提示 样例1: upper(1/4) = 1, upper(2/4) = 1, upper(3/4) = 1, upper(4/4) = 1, upper(5/4) = 2, 1+1+1+1+2 = 6

向上取整可以使用cmath中的ceil方法

2021/8/15 22:01
加载中...