对三个点错一个。
in:1 8 76 6
out:44
#include<iostream>
using namespace std;
int a,n,m,x;
int u,sqr=1;
int station[25];
int main(){
cin>>a>>n>>m>>x;
if(n==1){
cout<<0<<endl;
return 0;
}
if(n==2){
station[1]=a;
station[2]=0;
}
if(n==3){
station[1]=a;
station[2]=a;
station[3]=0;
}if(n==4){
station[1]=a;
station[2]=a;
station[3]=2*a;
station[4]=0;
}else{
station[1]=a;
station[2]=a;
station[3]=2*a;
if(n==5){
sqr=1;
}else{
for(int i=1;i<=n-5;i++){
sqr*=2;
}
}
u=(m-(n-3)*a)/sqr;
for(int i=4;i<=n;i++){
sqr=1;
for(int j=1;j<=i-4;j++){
sqr*=2;
}
station[i]=(i-2)*a+sqr*u;
}
}
cout<<station[x]<<endl;
return 0;
}