Cod sursa(job #1803725)

Utilizator alex.grigorasAlex Grigoras alex.grigoras Data 11 noiembrie 2016 18:56:12
Problema Progresie Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.88 kb
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>

int IsInArray(int x)
{
	for(unsigned long long i=1; i<UINT_MAX; i++)
	{
		unsigned long long v1 = i*(i-1);
		unsigned long long v2 = v1 + i;
		if(v1 < x && x <= v2)
		{
			return 1;
		}
	}
	return 0;
}

int RespectsCondition(unsigned long long v, int n, int r)
{
	while(n>0)
	{
		if(IsInArray(v) == 0)
		{
			return 0;
		}
		v +=r;
		n--;
	}
}

int main()
{
    clock_t begin = clock();
    FILE* fin = fopen("progresie.in","r");
    FILE* fout = fopen("progresie.out","w");
 
	int T;
	fscanf(fin, "%d", &T);
	for(int t=0; t<T; t++)
	{
		int n, r;
		fscanf(fin, "%d %d", &n, &r);
		for(unsigned long long i = 1; i<ULLONG_MAX; i++)
		{
			if(RespectsCondition(i, n, r))
			{
				fprintf(fout, "%llu\n", i);
			}
		}
	}

    
    fprintf(fout, "%llu\n", clock() - begin);
}