题目是不是有问题,貌似测试样例的第三个,第二站上车人数是0,因为从0开始的话,超时,如果从0开始找的话就ac
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,n,m,x;
cin>>a>>n>>m>>x;
if(x==1||x==2){
cout<<a;
return 0;
}
else if(x==3){
cout<<2*a;
return 0;
}
int b;
for(b=0;;b++){
int sum=2*a;
int t1=a,t2=b;
for(int i=4;i<n;i++){
sum+=t2;
int temp=t2;
t2=t1+t2;
t1=temp;
}
if(sum==m){
break;
}
}
int t1=a;
int t2=b;
int res=2*a;
for(int i=4;;i++){
res+=t2;
if(i==x){
cout<<res;
return 0;
}
int temp=t2;
t2=t1+t2;
t1=temp;
}
}