#滴滴23秋招笔试有点儿难啊# #滴滴笔试#
大佬帮我看看第一题这个代码为啥错了

int recursion(vector<int>& nums, int left, int right, double sum, double tt, int k)
{
if (tt * k > nums[right])
{
return right - left + 1;
}
int l = recursion(nums, left + 1, right, sum - nums[left], (double)(sum - nums[left]) / (double)(right - left), k);
int r = recursion(nums, left, right - 1, sum - nums[right], (double)(sum - nums[right]) / (double)(right - left), k);
return max(l, r);
}

int main()
{
int n, k;
cin >> n >> k;
vector<int> nums;
double sum = 0.0;
for (int i = 0; i < n; ++i)
{
int temp;
cin >> temp;
sum += temp;
nums.push_back(temp);
}

sort(nums.begin(), nums.end());
double tt = (double)sum / (double)n;
int left = 0, right = n - 1;
cout << recursion(nums, left, right, sum, tt, k) << endl;

return 0;
}
全部评论
过了81 出错了
点赞 回复 分享
发布于 2022-09-04 21:03 湖南

相关推荐

uu们,拒offer时hr很生气怎么办我哭死
爱睡觉的冰箱哥:人家回收你的offer,或者oc后没给你发offer的时候可不会愧疚你,所以你拒了也没必要愧疚他。
点赞 评论 收藏
分享
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务