Cod sursa(job #1974584)

Utilizator vvvictorvictor vvvictor Data 28 aprilie 2017 02:20:57
Problema Consecutive Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.7 kb
#include <bits/stdc++.h>

#define pb push_back
#define mp make_pair
typedef long long ll;

using namespace std;

vector<pair<ll, ll>> intervals;
const string file = "consecutive.", 
	  in = file + "in", out = file + "out";

ifstream fin(in);
ofstream fout(out);

ll n;
int t;

inline void go(ll u, ll v)
{
	intervals.pb(mp((v - u - 1) / 2 + 1, (v + u - 1) / 2));
}

int main()
{
	ios_base::sync_with_stdio(false);
	fin >> t;

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

		n <<= 1;
		for (int i = 2; i <= sqrt(n); i++)
		{
			if (n % i)
				continue;

			go(i, n / i);
		}

		fout << intervals.size() << endl;
		for (auto& iter : intervals)
			fout << iter.first << " " << iter.second << "\n";

		intervals.clear();
	}

	return 0;
}