Cod sursa(job #3149041)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 5 septembrie 2023 19:57:02
Problema Progresie Scor 100
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.59 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("progresie.in");
ofstream G("progresie.out");
int t;
long long n,r,i,v,l,b,x,y,e,j;
bool o,f;
int main()
{
    for(F>>t;t;--t)
        for(f=i=1,F>>n>>r;f;++i) {
            for(o=j=1,v=i*(i-1)+1,e=i-1;j<n&&o;++j) {
                l=v+j*r,b=sqrt(l-1)+1,x=b*(b-1)+1,y=b*b;
                if(l<x)
                    v+=x-l,e-=x-l;
                else
                    e=min(e,y-l);
                if(l+e<x)
                    o=0;
            }
            if(o)
                G<<v<<'\n',f=0;
        }
    return 0;
}