Cod sursa(job #2219666)

Utilizator dfettiDaniel Fetti dfetti Data 9 iulie 2018 15:04:38
Problema Consecutive Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.83 kb
#include <fstream>
#include <vector>
 
using namespace std;
 
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
 
 
int T;
long long int N;
int cnt, i;
vector<pair<int, int> > secv;
int main()
{
    fin >> T;
    while( T )
    {
        fin >> N;
        cnt = 0;
        secv.clear();
        for ( i = 2; ; ++i )
        {
            long long int Rest = ( 1LL * i * (i - 1)) / 2;
            if ( N - Rest <= 0 )
                break;
            if ( (N - Rest) % i == 0 )
            {
                cnt++;
                secv.push_back(make_pair((N - Rest) / i, (N - Rest) / i + i - 1));
            }
        }
        fout << cnt << "\n";
        for( auto x : secv )
        {
            fout << x.first << ' ' << x.second << '\n';
        }
        T--;
    }
 
 
    return 0;
}