Cod sursa(job #529243)

Utilizator darrenRares Buhai darren Data 4 februarie 2011 16:21:26
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;

long long N, K;
int V[100002], can,  num;

int main()
{
    ifstream fin("farfurii.in");
    ofstream fout("farfurii.out");

    fin >> N >> K;

    long long posm;
    for (posm = 1; posm * (posm + 1) / 2 <= K; ++posm);
    --posm;

    K -= posm * (posm + 1) / 2;

    posm = N - posm;
    int before = posm - 1 + K;

    for (int i = 1; i <= posm - 2; ++i)
        fout << i << ' ';
    if (posm != 1) fout << before << ' ';
    fout << N << ' ';

    for (int i = N - 1; i >= posm - 1; --i)
        if (i != before)
            fout << i << ' ';

    fin.close();
    fout.close();
}