Cod sursa(job #2742997)

Utilizator YouDontNeedMyNameJurcut Paul YouDontNeedMyName Data 22 aprilie 2021 13:49:26
Problema Consecutive Scor 100
Compilator cpp-64 Status done
Runda acm_2017_ubb4 Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("consecutive.in");
ofstream out("consecutive.out");

void solve(){
    long long n;
    in >> n;
    long long m = sqrt(n)*2 + 2;
    vector<pair<long long, long long> > sol;
    for(long long i=2; i<=m; i++){
        long long val = n - i*(i-1)/2;
        if(val < 0) continue;
        if(val % i == 0){
            long long p = val/i;
            if(p <= 0) continue;
            sol.push_back({p, p+i-1});
        }
    }
    out << sol.size() << '\n';
    for(auto elem: sol){
        out << elem.first << ' ' << elem.second << '\n';
    }
}

int main(){
    int t;
    in >> t;
    while(t--){
        solve();
    }
    return 0;
}