Pagini recente » Cod sursa (job #822548) | Cod sursa (job #11791) | Cod sursa (job #1575769) | Cod sursa (job #2580085) | Cod sursa (job #2240248)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("progresie.in");
ofstream fout("progresie.out");
int main()
{
int T,n,r;
long long i=1;
fin >> T;
bool ok=1;
long long a,b;
for(int u=1;u<=T;u++)
{
fin >> n >> r;
i=1;
while(1)
{
long long sf=i*(i-1)+1;
long long st=i-1;
ok=1;
for(int j=1;j<n;j++)
{
sf+=r;
a=sqrt(sf-1)+1;
b=a*(a-1)+1;
if(sf<b)
{
if(sf+st<b)
{
ok=0;
break;
}
st-=(b-sf);
sf=b;
}
if(a*a-sf<st)
st=a*a-sf;
}
if(ok==1)
{
fout << sf-1LL*(n-1)*r << '\n';
break;
}
i++;
}
}
return 0;
}