Cod sursa(job #2565119)

Utilizator serafimalex2001Serafim Alex serafimalex2001 Data 2 martie 2020 12:16:08
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;

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

long long n,k;

long long maxperm;

int a[100009];

void Do()
{
    long long i,j;
    fin>>n>>k;
    maxperm = 1LL*n*(n-1)/2;
    for(i=1; i<=n; ++i)
        if(k - (n-i)*(n-i-1)/2 > 0)
            break;
    for(j=1; j<i; ++j)
        a[j] = j;
    for( j = n; j>=i; --j)
        a[n-j+i] = j;
    k -= (n-i) * (n-i+1)/2;
    for( j = i-k ; k<0; --j, ++k)
       swap(a[j], a[j-1]);
    for(i=1; i<=n; ++i)
        fout<<a[i]<<" ";

}

int main()
{
    Do();
    return 0;
}