题解:P9390 金盏花
· 阅读需 1 分钟
原题链接
解题思路
分类讨论:
-
如果 不是十二位数(),要使 尽可能小,即 :。
-
否则, 和 位数相同,取三种情况的最小值即可:
- 前六位相同:。
- 前五位相同,第六位大 :。
- 前五位相同,第六位小 :。
参考代码
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll y,z;
cin>>y>>z;
if(z<100000000000)
{
cout<<100000000000+y-z<<'\n';
}
else
{
cout<<min(abs(y-z%1000000),min(abs(y+1000000-z%1000000),abs(y-1000000-z%1000000)))<<'\n';
}
return 0;
}