Cod sursa(job #2632068)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 2 iulie 2020 10:32:04
Problema Progresie Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.84 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)
    {
        long long act = i * 1LL * (i - 1) + 1;
        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 << i * 1LL * (i - 1) + 1 << '\n';
            return ;
        }
    }
}

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

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