Cod sursa(job #1711920)

Utilizator andi12Draghici Andrei andi12 Data 1 iunie 2016 16:21:04
Problema Consecutive Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.88 kb
#include <cstdio>
#include <algorithm>
using namespace std;
long long sol[100000];
int main()
{
    FILE *in,*out;
    in=fopen("consecutive.in","r");
    out=fopen("consecutive.out","w");
    long long t,i,n,a1,test,d1,d2,ind;
    long long nr;
    fscanf(in,"%lld",&t);
    for(test=1; test<=t; test++)
    {
        ind=0;
        fscanf(in,"%lld",&nr);
        nr=nr*2;
        for(d1=2; d1*d1<=nr; d1++)
        {
            if(nr%d1==0)
            {
                d2=nr/d1;
                n=d1;
                if((d2-n+1)>=2 && (d2-n+1)%2==0)
                {
                    ind++;
                    sol[ind]=n;
                }

            }
        }
        fprintf(out,"%lld\n",ind);
        for(i=1; i<=ind; i++)
        {
            n=sol[i];
            a1=nr/n-n+1;
            a1=a1/2;
            fprintf(out,"%lld %lld\n",a1,a1+n-1);
        }
    }
    return 0;
}