Cod sursa(job #1631950)

Utilizator pickleVictor Andrei pickle Data 5 martie 2016 20:15:37
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;
typedef long long ll;

int main() {
  ifstream fin ("farfurii.in");
  ofstream fout ("farfurii.out");
  int N;
  ll K;
  fin >> N >> K;

  ll n = floor(sqrt(2*K));
  if (n*n + n <= 2*K)
    ++n;

  ll rest = K - (n*n - n)/2;
  for(int i = 1; i <= N-n - 1; ++i)
    fout << i << " ";

  fout << N-n +rest << " ";

  for(int i = N; i >= N-n; --i) {
    if (i == N-n + rest)
      continue;
    fout << i << " ";
  }
  fout << endl;


  return 0;
}