Cod sursa(job #1709481)

Utilizator UPT_RaindropsUPT Igna Sendroiu Pacurariu UPT_Raindrops Data 28 mai 2016 12:30:55
Problema Consecutive Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 1.01 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,t,s,i,j,ok,a[50000],b[50000],p,u;
int main()
{
    ifstream fin("consecutive.in");
    ofstream fout("consecutive.out");
    fin>>t;
    //cout<<sizeof(a)/1024;
    for(i=1;i<=t;i++)
    {
        fin>>n;
        ok=1;
        j=2;
        while(ok)
        {
            if(j%2==0)
            {
                if(n%j==j/2)
                {
                    p=n/j-(j/2-1);
                    u=p+j-1;
                    if(p>0){s++;a[s]=p;b[s]=u;}
                        else break;
                }
            }
            else
            {
                if(n%j==0)
                {
                    p=n/j-(j/2);
                    u=n/j+(j/2);
                    if(p>0){s++;a[s]=p;b[s]=u;}
                        else break;
                }
            }
            j++;
            if(j==n)ok=0;
        }
        fout<<s<<"\n";
        for(j=1;j<=s;j++)fout<<a[j]<<" "<<b[j]<<"\n";
    }
    fin.close();
    fout.close();
    return 0;
}