Cod sursa(job #3292119)

Utilizator IleaIlea Bogdan Ilea Data 7 aprilie 2025 09:57:50
Problema Consecutive Scor 0
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.88 kb
#include <bits/stdc++.h>
using namespace std;

int main(){
    freopen("consecutive.in", "r", stdin);
    freopen("consecutive.out", "w", stdout);
    /// (2*a+k-1)*k/2=n
    /// iterez prin k si dupa caut sa vad a
    int t;
    cin>>t;
    for (int _=0; _<t; ++_){
        int n;
        cin>>n;
        vector<pair<int, int>> sol;
        for (int k=2; k<=n/2; ++k){
            if (2*n%k==0){
                //cout<<k<<": ";
                if (2*n/k-k+1>0){
                    //cout<<k<<": ";
                    if ((2*n/k-k+1)%2==0){
                        //cout<<k<<"* ";
                        sol.push_back({(2*n/k-k+1)/2, (2*n/k-k+1)/2+k-1});
                    }
                }
                //cout<<"\n";
            }
        }
        cout<<sol.size()<<"\n";
        for (auto it:sol)cout<<it.first<<" "<<it.second<<"\n";
    }
    return 0;
}