Cod sursa(job #2016217)

Utilizator MoodyFaresFares Mohamad MoodyFares Data 28 august 2017 22:20:23
Problema Consecutive Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.71 kb
#include <cstdio>
#include <vector>

int main() {
  freopen("consecutive.in", "r", stdin);
  freopen("consecutive.out", "w", stdout);
  
  long long T;
  scanf("%lld", &T);
  for (long long t = 1; t <= T; ++t) {
    long long N;
    scanf("%lld", &N);
    long long l = 2;
    std::vector<long long> start;
    std::vector<long long> finish;
    while (l * (l - 1) / 2 < N) {
      if ((N - l * (l - 1) / 2) % l == 0) {
        start.push_back((N - l * (l - 1) / 2) / l);
        finish.push_back((N - l * (l - 1) / 2) / l + l - 1);
      }
      l++;
    }
    printf("%lld\n", (long long) start.size());
    for (int i = 0; i < start.size(); ++i) {
      printf("%lld %lld\n", start[i], finish[i]);
    }
  }
  return 0;
}