#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; int res(int sum,int num1,int num2,int num3,int temp) { int min1 =min(num1,min(num2,num3)); int max2 =max(num1,max(num2,num3)); if(min1<=sum&&max2>=sum) { return sum; } else if(min1<sum&&max2<sum) { return res(sum-temp/2,num1,num2,num3,temp/2); } else return res(sum+temp/2,num1,num2,num3,temp/2); } int main() { int k,num1,num2,num3; cin>>k>>num1>>num2>>num3; int sum=1; for(int i=1;i<=k;i++) { sum=2*sum; } cout<<res(sum/2,num1,num2,num3,sum/2)<<endl; return 0; }
点赞 评论

相关推荐

12-13 20:26
浙江大学 Java
淬月星辉:把浙大的校名加大加粗,把校徽再贴出来,就OK了
点赞 评论 收藏
分享
看起来名字可以很长:笑死 我暑期实习阿里云的意向也被 qq 邮箱放在垃圾箱了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务