样例过了,每个 Substak 都有对有错
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,a,b,c;
int opa(int num){
return num/2;
}
int opb(int num){
return (num+1)/2;
}
int opc(int num){
if(num>0) {
return (num-1)/2;
}
return 0;
}
signed main() {
cin>>n>>a>>b>>c;
int result=opa(n);
for(int i=1;i<a;i++){
result=opa(result);
}
int ans=result;
for(int i=0;i<=b;i++){
int now=result;
for(int j=0;j<i;j++){
now=opb(now);
}
for(int k=0;k<=c;k++){
int finalnow=now;
for(int l=0;l<k;l++){
finalnow=opc(finalnow);
}
ans=min(ans,finalnow);
}
}
cout<<ans;
return 0;
}