Cod sursa(job #2106627)

Utilizator anca.sotirAnca Sotir anca.sotir Data 15 ianuarie 2018 23:22:23
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
long long int n,k;
int main()
{
    ///k<=(n)*(n-1)/2 => putem construi o perm de lungime n cu k inversiuni
    f>>n>>k;
    int i;
    long long int nr_max;
    if(k==0)
    {
        for(i=1;i<=n;++i)
            g<<i<<' ';
        return 0;
    }
    for(i=0;;++i)
    {
        nr_max=(n-i-1)*(n-i-2)/2;
        //g<<nr_max<<'\n';
        if(k>nr_max)
            break;
        g<<i+1<<' ';
    }
   // g<<endl;
    g<<i+1+k-nr_max<<' ';
    for(int j=n;j>i;--j)
        if(j==i+1+k-nr_max)
            continue;
        else g<<j<<' ';
    return 0;
}