描述
题解
这个题我感觉我已经没有什么可说了,只能说知乎大神的神级推导,真是无懈可击啊!
对了,这个也可以看看评论区我那牛逼哄哄的 佐神灯 学姐的题解,我就是看她的题解搞得,很详细,详细的我都没心情看了……毕竟我是一个不求甚解的人~~~
代码
#include <cstdio>
using namespace std;
int n, k;
int main ()
{
scanf("%d%d", &n, &k);
int t = n / k;
int r = n % k;
if (r == 0)
{
printf("%d\n", t);
return 0;
}
if (t > 1)
{
if ((r & 1) == (k & 1))
{
printf("%d\n", t + 1);
}
else
{
if (r & 1)
{
puts("-1");
}
else
{
printf("%d\n", t + 2);
}
}
}
else
{
if (r & 1)
{
if (k & 1)
{
if ((r << 2) >= n)
{
puts("4");
}
else
{
int a = r << 1;
int b = n / a;
int ans;
if (b > 1)
{
ans = (b + (n % a ? 1 : 0)) << 1;
}
else
{
ans = 6;
}
printf("%d\n", ans);
}
}
else
{
puts("-1");
}
}
else
{
puts("3");
}
}
return 0;
}