Cod sursa(job #1709704)

Utilizator UBB_RANDOMUBB Muntea Zsisku Adam UBB_RANDOM Data 28 mai 2016 13:31:31
Problema Consecutive Scor 100
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.73 kb
#include <fstream>
#include <cmath>
using namespace std;

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

typedef struct t{
    int prim, ultim;
}t;
t v[65539];


int main()
{
    long long t,n,k;
    f>>t;
    for(;t>0;t--){
        f>>n;
        k = 0;
        long long s = 0, rad = (long long)sqrt(2*n);
        for (long long i = 1; i < rad; i++) {
             s+=i;
            if ((n - s) %(i+1) == 0){
                k++;
                v[k].prim = (n - s) / (i+1);
                v[k].ultim = v[k].prim + i;
            }

        }
        q<<k<<"\n";
        for(int i = 1; i<=k; i++) q<<v[i].prim<<" "<<v[i].ultim<<"\n";

    }

    f.close();
    q.close();
    return 0;
}