Cod sursa(job #2054160)

Utilizator ButmalaiDanButmalai Dan ButmalaiDan Data 1 noiembrie 2017 19:08:27
Problema Consecutive Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.56 kb
#include<fstream>
#include<list>
#include<utility>
using namespace std;

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

int main(){
	int t,n;
	cin >> t;
	while(t--){
		cin >> n;
		list <pair<int,int> > q;
		for(int l = 2; (1LL*l*(l+1)/2) <= n; l++)
		{
			int i = (1LL*2*n/l - l + 1)/2;
			if(1LL*2*n%l == 0 && (1LL*2*n/l - l + 1)%2 == 0 && i >= 1){
				q.push_back(make_pair(i, i + l - 1));
			}
		}
		cout << q.size() << "\n";
		while(q.size())
		{
			cout << q.front().first <<  " " << q.front().second << "\n";
			q.pop_front();
		}
	}
	return 0;
}