Cod sursa(job #2749611)

Utilizator PopescuAndreiAlexandruPopescu Andrei Alexandru PopescuAndreiAlexandru Data 7 mai 2021 14:56:33
Problema Consecutive Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 1.13 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("consecutive.in");
ofstream fout("consecutive.out");

int T,n;

vector < pair<int,int> > Sol;

int main()
{
    fin>>T;
    while(T--)
        {
            fin>>n;
            int i=2;
            while(true)
                {
                    int p=n/i;
                    int k=i/2;
                    if(i%2==0)
                        k--;
                    long long sum=2LL*k*p+p;
                    if(i%2==0)
                        sum=sum+p+1;
                    if(p-k<1)
                        break;
                    else if(sum==n)
                        {
                            int a=p-k,b=p+k;
                            if(i%2==0)
                                b++;
                            Sol.push_back(make_pair(a,b));
                        }
                    i++;
                }
            fout<<Sol.size()<<'\n';
            for(int i=0; i<Sol.size(); i++)
                fout<<Sol[i].first<<" "<<Sol[i].second<<'\n';
            while(!Sol.empty())
                Sol.pop_back();
        }
}