全部评论
二分答案即可,check方法很简单,每个元素比预期少总和的和多出来的的综合是不是两倍关系即可 #include<bits/stdc++.h> using namespace std; int main(){ long long a[4]; long long sum = 0; for(int i=0;i<4;i++){ scanf("%lld",&a[i]); sum += a[i]; } sort(a,a+4); long long l = 1; long long r = sum / 4; long long ans = -1; while(l<=r){ long long mid = (l+r) / 2; long long need = 0; long long left = 0; for(int i=0;i<4;i++){ if(a[i] < mid){ need += (mid - a[i]); }else if(a[i]>mid){ left += (a[i] - mid); } } if(need * 2<=left){ ans = max(ans,mid); l = mid+1; }else{ r = mid-1; } } cout<<ans * 4<<endl; }
我也是,感觉在哪里写过,应该会做,一做又做不出来。😂
同求!真的是一点思路都没有
相关推荐
10-20 15:26
门头沟学院 Java 桥头牛油火锅:这个比例不正常,简历的话项目经历放中间,项目功能分点可以再明确点,前面加“·”或者“1 2 3”,另外简历上的照片可以去外面摄影店拍一下,以后也会用到的,hr筛人也是多少会看的,毕竟世界是一个巨大的卡颜局嘛,还有有些hr由于消息太多可能没看到,后面可能会回来找你,要简历的还会多一点,我也是普2本,比例大致是600:90:15:3,当然我实力不太够,拿的offer比较少,慢慢来吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看20道真题和解析
阿里云工作强度 619人发布