Pagini recente » Cod sursa (job #2124937) | Cod sursa (job #2705214) | Cod sursa (job #1833500) | Cod sursa (job #1439322) | Cod sursa (job #2310506)
#include<cstdio>
#include<cmath>
using namespace std;
long long solve(long long grup,long long n,long long r){
long long nr=(grup-1)*grup+1,l=grup-1,x,a,i;
for(i=1;i<n;i++){
x=nr+i*r;
grup=1+(long long)sqrt(x-1);
a=(grup-1)*grup+1;
if (x+l<a)
return 0;
if (x<a)
l-=a-x,nr+=a-x;
else
if (x+l>a+grup-1)
l=a+grup-1-x;}
return nr;}
int main(){
freopen("progresie.in","r",stdin);
freopen("progresie.out","w",stdout);
long long t,i1,n,r,i,grup,x;
scanf("%lld",&t);
for(i1=1;i1<=t;i1++){
scanf("%lld%lld",&n,&r);
grup=1;
while(!(x=solve(grup,n,r)))
grup++;
printf("%lld\n",x);}
return 0;}