Cod sursa(job #943346)

Utilizator andreiagAndrei Galusca andreiag Data 25 aprilie 2013 00:17:01
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <string>
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cmath>

typedef long long LL;

using namespace std;

int main()
{
    int N, K;
    freopen("farfurii.in", "r", stdin);
    freopen("farfurii.out", "w", stdout);

    scanf("%d %lld", &N, &K);

    int n = floor(sqrt(2*K));
    int b = (n*(n+1))/2;
    if (b > K) b -= n;  else n++;

    int l = K - b;
    int pos = N - n;

    for(int i = 1; i < pos; i++) printf("%d ", i);
    printf("%d", pos + l);
    for(int j = N; j >= pos; j--) {
        if (j != pos + l) printf(" %d", j);
    }

    printf("\n");

    return 0;
}