为什么这个代码能过这个题
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,c,s;
cin>>a>>b>>c;
if((b-a)>=(c-b)) s = (b-a)-(c-b);
else{
if(((c-b)-(b-a))%2==0) s = ((c-b)-(b-a))/2;
else s = ((c-b+1)-(b-a))/2+1;
}
cout<<s;
return 0;
}
题目:
构造等差数列
给三个数,不能打乱这三个数的顺序。
每次操作能把这三个数字中的某个数加1,问最少多少次操作能让这个三个数成为等差数列。