有没有人来帮帮我
2024-08-04 20:33:44
发布于:北京
#include<bits/stdc++.h>
using namespace std;
int a[10005];
int main (){
int n,h;
cin>>n>>h;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int sum=0;
for(int i=1;i<=n;i++){
sum+=a[i];
}
sum=sum/h;
int cnt=0;
while(n--){
cnt=0;
for(int i=1;i<=n;i++){
while(a[i]>0){
if(a[i]>=sum){
a[i]-=sum;
cnt+=1;
}else if(a[i]<sum){
a[i]=0;
cnt+=1;
}
}
cout<<cnt;//为什么!!!!!!!!!??????????????
//为什么他能算出1360000!!!!?????我不理解!!!!!
//cnt这个东西他凭什么是1360000!!!!啊!!!???
}
if(cnt==h){
cout<<sum;
return 0;
}
if(cnt>h){
sum++;
}else if(cnt<h){
sum--;
}
}
return 0;
}
全部评论 2
帮帮我
2024-08-04 来自 北京
0吉吉国王喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 a
i
根香蕉。现在光头强已经离开了,将在 h 小时后回来。吉吉国王可以决定它吃香蕉的速度 k (单位:根/小时)。每个小时,它将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,它将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。
吉吉国王喜欢慢慢吃,但仍然想在光头强回来前吃掉所有的香蕉。
输出它可以在 h 小时内吃掉所有香蕉的最小速度 k(k 为整数)。
输入格式
第一行输入两个整数 n 和 h,表示有 n(1≤n≤10
5
) 堆香蕉,光头强将在 h(n≤h≤10
9
) 小时回来。
第二行输入 n 个整数 a
1
,a
2
,...a
n
(1≤a
i
≤10
9
)。输出格式
输出它可以在 h 小时内吃掉所有香蕉的最小速度 k(k 为整数)样例组
输入#1
复制
4 8
3 6 7 11
输出#1
复制
4
提示说明
样例说明:
第一堆香蕉需要花 1 小时能吃完
第二堆香蕉需要花 2 小时能吃完
第三堆香蕉需要花 2 小时能吃完
第四堆香蕉需要花 3 小时能吃完
1+2+2+3=8 在光头强回来之前可以吃完。可以证明,4 根/小时 是吉吉国王的最小的速度。
题目2024-08-04 来自 北京
0
有帮助,赞一个