Cod sursa(job #1057456)

Utilizator VmanDuta Vlad Vman Data 14 decembrie 2013 14:52:48
Problema Progresie Scor 0
Compilator cpp Status done
Runda ONIS 2014, Runda 1 Marime 0.81 kb
#include <cstdio>
#include <cmath>

int N, R, T;
long long delay;

bool verifica(long long &v) {
    long long T = v;
    for (int i=0; i<N; ++i) {
        T = v + R*i;
        long long S = sqrt(T);
        long long RR = S*S;
        if (RR < T && T <= RR+S) {
                        v += RR+S+1 - T;
         return false;

        }
    }
    return true;
}

int main() {
    freopen("progresie.in", "r", stdin);
    freopen("progresie.out", "w", stdout);
    
    scanf("%d", &T);
    while (T--) {
        scanf("%d %d", &N, &R);
        long long i = 1;
        while (!verifica(i));
        printf("%lld\n", i);
//            ++i;
            /*
            p = sqrt(i);
            long long pp = p*p;
            if (i >= pp+1 && i<=pp+p) {
                i = pp+ p + 1;
            }*/
    }
    
    return 0;
}