第一段:
long long MIN=0,flag=m;
if(dragon>tiger){
MIN=dragon-tiger;
for(int i=m+1;i<=n;i++){
if(dragon-(s2*(i-m)+tiger)<MIN||(dragon-(s2*(i-m)+tiger)==MIN&&i<flag)){
flag=i;
MIN=abs(dragon-(s2*(i-m)+tiger));
//cout<<1<<"flag:"<<i<<"MIN:"<<MIN<<endl;
}
}
}
else if(dragon<tiger){
MIN=tiger-dragon;
for(int i=1;i<m;i++){
if(tiger-(s2*(m-i)+dragon)<MIN||(tiger-(s2*(m-i)+dragon)==MIN&&i<flag)){
flag=i;
MIN=abs(tiger-(s2*(m-i)+dragon));
//cout<<2<<"flag:"<<i<<"MIN:"<<MIN<<endl;
}
}
}
第二段:
long long flag=m;
long long MIN=abs(tiger-dragon);
for(int i=1;i<=n;i++){
long long L=dragon,R=tiger;
if (i<m){
L+=(long long)(m-i)*s2;
if (abs(R-L)<MIN){
MIN=abs(R-L);
flag=i;
}
}
if (i>m){
R+=(long long)(i-m)*s2;
if (abs(R-L)<MIN){
MIN=abs(R-L);
flag=i;
}
}
}
个人认为运行结果应该是一样的啊……
为啥第一个40第二个100……