Cod sursa(job #2629574)

Utilizator BogdanTicuTicu Bogdan Valeriu BogdanTicu Data 21 iunie 2020 16:33:16
Problema Consecutive Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.63 kb
#include <fstream>
#include <cmath>
using namespace std;

ifstream cin("consecutive.in");
ofstream cout("consecutive.out");

int a[100001][3];
long long n,k,ct;

int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		k=1;
		ct=0;
		cin>>n;
		long long L = sqrt(2*n);
		if(n==1) cout<<"1 1"<<"\n";
		else{	
		for(int i=2;1ll*i<=L;i++)
		{
			long long remaining = n-(i*(i+1)/2);
			if(remaining%i==0)
			{
				ct++;
				a[k][1]=remaining/i+1;
				a[k][2]=remaining/i+i;
				k++;
			}
		}
		cout<<ct<<"\n";
		for(int i=1;1ll*i<k;i++)
			cout<<a[i][1]<<" "<<a[i][2]<<"\n";
		for(int i=1;1ll*i<k;i++)
		{
			a[i][1]=0;
			a[i][2]=0;
		}
	}	
	}
	return 0;
}