Cod sursa(job #1709200)

Utilizator UAIC_TheFormerOneUAIC TheFormerOne UAIC_TheFormerOne Data 28 mai 2016 11:15:11
Problema Consecutive Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.83 kb
#include<iostream>
#include<stdio.h>
#include<cmath>
#include<vector>
#include<fstream>
using namespace std;

vector <int> v1;
vector <int> v2;

int main()
{
	ifstream fin("consecutive.in");
	ofstream fout("consecutive.out");
	int M = 0;
	int T, N, i, j, si, sj;
	fin >> T;
	v1.clear();
	v2.clear();
	while (T)
	{
		fin >> N;
		i = sqrt(N)+1;
		j = 0;
		si = i*(i + 1) / 2;
		sj = 0;
		M = 0;
		while (j <= (N+1)/2)
		{
			if (si - sj > N)
			{
				++j;
				sj = j*(j + 1) / 2;
			}
			if (si - sj == N)
			{
				++M;
				v1.push_back(j + 1);
				v2.push_back(i);

			}
			if(si - sj <= N)
			{
				++i;
				si = i*(i + 1) / 2;
			}
		}
		fout << M << '\n';
		for (i = M-1; i >= 0; --i)
		{
			fout << v1[i] << " " << v2[i] << "\n";
		}
		v1.clear();
		v2.clear();
		--T;
	}

	return 0;
}