Cod sursa(job #2555178)

Utilizator Katherine456719Swan Katherine Katherine456719 Data 23 februarie 2020 19:29:59
Problema Consecutive Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("consecutive.in");
ofstream g("consecutive.out");
pair <int,int> f[100001];
int main()
{
    int t,cont=0;
    fin>>t;
    for(int i=1; i<=t; ++i)
    {
        long long n;
        fin>>n;
        for(int nr=2; nr*nr <= 2*n; ++nr)
        {
            int rec=(n-(1LL*nr*(nr-1))/2)/nr;
            if(rec>0 && (2LL*rec+nr-1)*nr/2==n)
            {
                ++cont;
                f[cont].first=rec;
                f[cont].second=rec+nr-1;
            }
        }
        g<<cont<<"\n";
        for(int i=1; i<=cont; ++i)
            g<<f[i].first<<" "<<f[i].second<<'\n';
    }
    return 0;
}