Pagini recente » Cod sursa (job #454900) | preONI 2004 (Runda 1) | Cod sursa (job #1618) | Cod sursa (job #381543) | Cod sursa (job #2219989)
#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;
}