Cod sursa(job #1709064)

Utilizator bacenumeavetiUPT BaCeNumeAveti bacenumeaveti Data 28 mai 2016 10:45:35
Problema Consecutive Scor 100
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.69 kb
#include <fstream>

#define NMAX (1 << 17)

using namespace std;

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

int solX[NMAX], solY[NMAX];

int main()
{
    int t;
    long long n, a;

    fin >> t;
    while(t--)
    {
    	fin >> n;

    	int sol = 0, k = 0;

    	for(long long i = 2; i < (1 << 17); i++)
    	{
    		a = n - i * (i - 1) / 2;
    		if(a <= 0)
                break;
    		if(a % i == 0)
    		{
    			sol++;
    			solX[k] = a / i;
    			solY[k] = (a / i) + (i - 1);
    			k++;
    		}
    	}

    	fout << k << "\n";
    	for(int i = 0; i < k; i++)
    		fout << solX[i] << " " << solY[i] << "\n";
    }

    fin.close();
    fout.close();

    return 0;
}