Pagini recente » Cod sursa (job #26807) | Cod sursa (job #1347565) | Cod sursa (job #2627585) | Cod sursa (job #2525251) | Cod sursa (job #1061908)
#include<cstdio>
#include<cmath>
using namespace std;
int T,N,R,i;
long long First(int Group)
{
return 1LL*Group*(Group-1)+1;
}
bool IsGood(long long X)
{
int Group=(int)sqrt(double(X));
if(1LL*Group*Group<X) Group++;
if(First(Group)<=X && 1LL*Group*Group>=X) return 1;
return 0;
}
bool StartGroup(int Group)
{
long long X=First(Group);
for(int i=2;i<=N;i++)
{
X+=R;
if(!IsGood(X)) return 0;
}
return 1;
}
int main()
{
freopen("progresie.in","r",stdin);
freopen("progresie.out","w",stdout);
for(scanf("%d",&T);T;T--)
{
scanf("%d%d",&N,&R);
for(i=1;!StartGroup(i);i++);
printf("%lld\n",First(i));
}
return 0;
}