Cod sursa(job #1758027)

Utilizator xSliveSergiu xSlive Data 16 septembrie 2016 12:20:30
Problema Consecutive Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#define ll long long
using namespace std;

ll t;
ifstream f("consecutive.in");
ofstream g("consecutive.out");

void solve();

int main()
{
    f >> t;
    while(t--) solve();
    return 0;
}

void solve(){
    ll nr;
    f >> nr;
    vector<pair<ll,ll>> v;
    v.clear();
    ll deScazut=0;
    for(ll i=1;i <= 2 * (ll)sqrt(nr);i++){
        deScazut+=i;
        if((nr - deScazut) % (i+1) == 0){
            v.push_back(make_pair( (nr - deScazut)/ (i+1), (nr - deScazut)/ (i+1)+ i));
        }
    }
    g << v.size() - 1 << '\n';
    for(ll i=0;i<v.size() - 1;i++) g << v[i].first << ' ' << v[i].second << '\n';
}