Cod sursa(job #1140580)

Utilizator alex23alexandru andronache alex23 Data 12 martie 2014 09:00:53
Problema Progresie Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.72 kb
#define _CRT_SECURE_NO_DEPRECATE
#include <cstdio>
#include <cmath>

int T, N, R, M, sol;

bool isInProg(int x)
{
	int r = sqrt(x);
	if (r * r == x)
	{
		return true;
	}
	if (r * (r + 1) + 1 <= x)
	{
		return true;
	}

	return false;
}

int main()
{
	freopen("progresie.in", "r", stdin);
	freopen("progresie.out", "w", stdout);

	scanf("%d", &T);
	while (T--)
	{
		scanf("%d %d", &N, &R);
		M = (N - 1) * R + 1;
		sol = M * (M - 1) + 1;
		for (int i = 1; i <= sol; ++i)
		{
			bool isSol = true;
			for (int j = 0; j < N; ++j)
			{
				if (!isInProg(i + j * R))
				{
					isSol = false;
					break;
				}
			}
			if (isSol)
			{
				printf("%d\n", i);
				break;
			}
		}
	}

	return 0;
}