Cod sursa(job #1709663)

Utilizator UPT_sThorUPT sThor UPT_sThor Data 28 mai 2016 13:18:05
Problema Consecutive Scor 0
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <algorithm>

#define NMAX 1000005

using namespace std;

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

int T , N ;
pair < int , int > v[NMAX];

int main ( void )
{
	int i,j;
	in >> T;
	for ( i = 1 ; i <= T ; ++i ){
	 
           in >> N ;
	int contor = 0 ; 
       		if ( N % 2 == 1 ){
			++contor;
		v[contor].first = N/2;		        
                v[contor].second = N/2 + 1 ;
        }	
    for ( j = 2 ; j <= sqrtl(N) ; j ++ ){
		if ( N % j == 0 && j % 2 == 1  )
			{
			if ( N/j > j / 2 ){ 
		             ++contor;
               		v[contor].first = N/j - j/2;
			v[contor].second = N/j + j/2; 
			}
           }
        }

	out << contor << "\n"; 
	for ( j = 1; j <= contor ; ++j )
		out << v[j].first << " " << v[j].second << "\n";
			
	}	
	return 0 ;
}