Cod sursa(job #2555165)

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