Cod sursa(job #1064500)

Utilizator mariacMaria Constantin mariac Data 21 decembrie 2013 22:58:24
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
long long N, K;
int main()
{
    long long inv = 0, i, care;
    fin >> N >> K;

    while( inv * (inv + 1) / 2 < K) inv++;
    if(inv * (inv + 1) / 2 == K)
    {
        for(i = 1; i < N - inv; i++)
            fout<<i <<" ";
        for(i = N; i >= N - inv; i--)
            fout<<i<<" ";
    }
    else {
            for(i = 1; i < N - inv; i++)
                fout<<i <<" ";
            care = K % (inv *(inv - 1) / 2) + N - inv ;
            fout<<care<<" ";
            for(i = N; i >= N - inv; i--)
                if(i != care)fout<<i<<" ";
    }

    return 0;
}