Cod sursa(job #3260768)

Utilizator RichardChessBibire David-Alexandru RichardChess Data 3 decembrie 2024 16:57:51
Problema Consecutive Scor 100
Compilator cpp-64 Status done
Runda Arhiva ICPC Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>

using namespace std;

ifstream f("consecutive.in");
ofstream g("consecutive.out");

vector<int> v;

int main() {
    int T;
    long long sum, cont=0; // Folosesc sum nu N
    f>>T;
    for(int i = 1; i<=T; i++){
        f>>sum;
        cont=0;
        for(long long n = 2; n*(n-1) <= 2*sum; n++){
            long long k = (2*sum - n*(n-1))/(2*n);
            if((2*sum - n*(n-1)) % (2*n) == 0 && k > 0){
                cont++;
                v.push_back(k);
                v.push_back(k+n-1);
            }
        }
        g<<cont<<"\n";
        for(int j = 0; j < v.size(); j+=2){
            g<<v[j]<<" "<<v[j+1]<<"\n";
        }
        v.clear();
    }
    return 0;
}