Cod sursa(job #2219989)

Utilizator Laura_CorneiLaura Maria Cornei Laura_Cornei Data 10 iulie 2018 12:04:47
Problema Progresie Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.71 kb
#include <fstream>
#include <math.h>
using namespace std;
fstream f1("progresie.in", ios::in);
fstream f2("progresie.out", ios::out);
int t, n, r;
int apsir(int x)
{
    int rad=sqrt(x);
    if(rad*rad!=x) rad++;
    return (rad*(rad-1)+1<=x);
}
int v(int n, int r)
{
    int i, j, k, ok;
    ///k max 10^4, n max 30
    for(k=1; k*(k-1)+1<=(n-1)*r;k++) ///incepi din primele val blocuri
    {
        i=k*(k-1)+1;
        ok=1;
        for(j=1; (j<n)&&ok; j++)
            if(!apsir(i+j*r)) ok=0;
        if(ok) return i;
    }
    return (1+(n-1)*r)*((n-1)*r)+1;///sigur sol
}
int main()
{
    f1>>t;
    while(t--)
    {
       f1>>n>>r;
       f2<<v(n, r)<<"\n";
    }
    return 0;
}