Cod sursa(job #1708624)

Utilizator diac_paulPaul Diac diac_paul Data 27 mai 2016 16:36:45
Problema Consecutive Scor Ascuns
Compilator cpp Status done
Runda Marime 0.77 kb
#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;

int t;
ll n;
vector <vector<ll>> ans;
int main() {
	freopen("consecutive.in","r",stdin);
	freopen("consecutive.out","w",stdout);
	for(cin >> t; t--;) {
		cin >> n;
		vector<ll> sol;
		ll n2 = (n << 1);
		for(ll p = 1; p * p <= n2; p++) {
			if(n2 % (p + 1) == 0) {
				ll k = n2 / (p + 1) - p;
				if(k > 0 && (k & 1) == 0) {
					k >>= 1;
					sol.push_back(k);
					sol.push_back(k + p);					
					ans.push_back(sol);
					sol.clear();
				}
			}
		}
		cout << ans.size() << '\n';
		for(int i = 0; i < ans.size(); i++) {
			sol = ans[i];
			for(int j = 0; j < sol.size(); j++)
				cout << sol[j] << " ";
			cout << '\n';
		}
		ans.clear();


	}


	return 0;
}