Cod sursa(job #1758029)

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

ll t;
ifstream f("consecutive.in");
ofstream g("consecutive.out");
pair<ll,ll> v[60000];
ll v_size;
void solve();

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

void solve(){
    ll nr;
    v_size=0;
    f >> nr;

    ll deScazut=0;
    for(ll i=1;i <= 2 * (ll)sqrt(nr);i++){
        deScazut+=i;
        if((nr - deScazut) % (i+1) == 0){
            v[v_size++] = 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';
}