蜗蜗最近沉迷上了蜗蜗棋。
蜗蜗棋里有一颗棋子,一开始出现在数轴上等于 x 的位置。
对于每一步,假设当前棋子的位置为 c,如果 c<k,那么蜗蜗会把棋子挪到位置 c+y,否则蜗蜗会把棋子挪到位置 c−z。
给定 x,y,z,k,s,请问 s 步以后棋子在什么位置?
第一行一个整数 test 表示数据组数。
对于每组数据,一行五个整数 x,y,z,k,s。
对于每组数据,输出一行一个整数表示棋子最后的位置。
2
1 2 3 3 2
1 2 3 3 3
0 2
对于 30% 的数据,保证 1≤test≤100,1≤s≤105。
对于 100% 的数据,保证 1≤test≤105,1≤x,y,z,k,s≤109。
代码(30分TLE):
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long Barbatoss;
typedef long long Wendy;
typedef long ShaTang;
typedef int LeiZe;
Wendy test,x,y,z,k,s,i;
main(){
scanf("%lld",&test);
while(test--){
scanf("%lld%lld%lld%lld%lld",&x,&y,&z,&k,&s);
for(i=1;i<=s;i++){
if(x<k)x+=y;
else x-=z;
}
printf("%lld\n",x);
}
}