Pagini recente » Cod sursa (job #1314257) | Cod sursa (job #2839569) | Cod sursa (job #1871387) | Cod sursa (job #2064150) | Cod sursa (job #1140670)
#define _CRT_SECURE_NO_DEPRECATE
#include <cstdio>
#include <cmath>
long long T, N, R;
int main()
{
freopen("progresie.in", "r", stdin);
freopen("progresie.out", "w", stdout);
scanf("%lld", &T);
while (T--)
{
scanf("%lld %lld", &N, &R);
for (int i = 0;; ++i)
{
long long start = 1LL * i * (i + 1) + 1;
long long margin = i;
bool isSol = true;
for (int j = 1; j < N; ++j)
{
long long start_t = start + 1LL * j * R;
long long end_t = start_t + margin;
int r = sqrt(start_t - 1);
long long start_i = 1LL * r * (r + 1) + 1;
long long end_i = 1LL * (r + 1) * (r + 1);
if (end_t < start_i)
{
isSol = false;
break;
}
if (start_t < start_i)
{
start += start_i - start_t;
margin -= start_i - start_t;
}
else if (end_t > end_i)
{
margin -= end_t - end_i;
}
}
if (isSol)
{
printf("%lld\n", start);
break;
}
}
}
return 0;
}