B. Moderate Modular Mode
先列式子
n=k1x+b
y=k2n+b
我们把第二个式子n单独提出来
(y-b)/k2=k1x+b
y=k1k2x+(k2+1)b
因为题中给出x y都是偶数
显然我们可以构造k1=1 k2=1
这样n就是x y的平均数
但是不幸的是我们这个式子里b不能为负数 因为余数不能是负的
所以我们y>=x
但是不难的是要是y<x 我们可以直接构造n=x+y这个是很好想的
还有就是这里的b显然也不能大于我们的x 或者n 但是显然n在此情况下是大于x的
所以我们不能大于x即可 我们发现这个式子y=k1k2x+(k2+1)*b我们可以随便改变k1这样就做完了
void solve() {
int x,y;cin>>x>>y;
if(y>=x){
x*=y/x;
cout<<(y-x)/2+x<<endl;
}
else cout<<x+y<<endl;
}
标签:752,Codeforces,Round,k2,k1,k1k2x,我们,式子
From: https://www.cnblogs.com/ycllz/p/16796999.html