Cod sursa(job #1773637)

Utilizator gabib97Gabriel Boroghina gabib97 Data 8 octombrie 2016 00:06:36
Problema Consecutive Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.67 kb
#include <stdio.h>
#include <vector>
#define ll long long
using namespace std;
ll n,t;
vector<pair<ll,ll> > S;
void rez(ll n)
{
    ll i=1,a;
    S.clear();
    while (true)
    {
        i++;
        a=n-i*(i+1)/2;
        if (a<0) break;
        if (a%i==0)
        {
            a/=i;
            S.push_back(make_pair(a+1,a+i));
        }
    }
    printf("%d",S.size());
    for (i=0;i<S.size();i++)
        printf("\n%lld %lld",S[i].first,S[i].second);
    printf("\n");
}

int main()
{
    freopen ("consecutive.in","r",stdin);
    freopen ("consecutive.out","w",stdout);
    scanf("%i",&t);
    while (t--)
    {
        scanf("%lld",&n);
        rez(n);
    }
    return 0;
}