Cod sursa(job #2632066)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 2 iulie 2020 10:28:54
Problema Progresie Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.94 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("progresie.in");
ofstream fout("progresie.out");

bool isIn(long long x)
{
    int p = sqrt(x);

    if(p * p == x)
        return true;

    if(x > p * (p + 1))
        return true;

    return false;
}

void solve()
{
    int n, r;
    fin >> n >> r;

    for(int i = 1; ; ++i)
    {
        for(long long j = i * (i - 1) + 1; j <= i * i; ++j)
        {
            long long act = j;
            bool ok = true;

            for(int it = 2; it <= n && ok; ++it)
            {
                act += r;

                if(!isIn(act))
                    ok = false;
            }

            if(ok == false)
                continue;

            if(ok == true)
            {
                fout << j << '\n';
                return ;
            }
        }
    }
}

main()
{
    int t;
    fin >> t;

    for(; t; --t)
        solve();
}