#include<iostream>
using namespace std;
int main()
{
long long n, k;
cin >> n >> k;
long long a = n * 2 - 1;
long long ans = 1;
long long mid = (a + 3) / 2;
long long maxa;
long long d = abs(k - mid);
if (n % 2 == 1) {
maxa = mid / 2 -1;
ans = maxa - d / 2;
}
else {
maxa = mid / 2;
ans = maxa - (d+1) / 2;
}
if (ans >= 0)cout << ans;
else cout << 0;
return 0;
}
时间复杂度上已经O(1)了,但是代码还有很大可改进空间。写的太丑了orz
Comments | NOTHING