Cod sursa(job #2240219)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 12 septembrie 2018 19:30:31
Problema Progresie Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 1.1 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("progresie.in");
ofstream fout("progresie.out");

const int NMAX = 1000000005;

bool frecv[NMAX];

int main()
{
    int T;
    fin >> T;
    int n,r;
    int indice,k=1,doi=2;
    for(int i=1;i<=NMAX;i++)
    {
        indice=k;
        for(int j=1;j<=indice;j++)
        {
            frecv[i+j-1]=1;
        }
        k++;
        i+=doi;
        i--;
        doi+=2;
    }
    ///for(int i=1;i<=14;i++) fout << frecv[i] << ' ';
    for(int u=1;u<=T;u++)
    {
        fin >> n >> r;
        for(int i=1;i<=NMAX;i++)
        {
            int ok=1;
            if(frecv[i]==1)
            {
                for(int j=i;j<=i+(n-1)*r;j+=r)
                {
                    if(frecv[j]==0)
                    {
                        ok=0;
                        break;
                    }
                }
                if(ok==1)
                {
                    fout << i << '\n';
                    break;
                }
            }
        }
    }
    return 0;
}