Cod sursa(job #2752251)

Utilizator PaduraruCristianPaduraru Cristian Daniel PaduraruCristian Data 17 mai 2021 13:26:52
Problema Farfurii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("farfurii.in");
ofstream g("farfurii.out");


int main()
{
    long long int n, k;
    long long inv, first;
    f>>n>>k;

    for(int i=1;i<=n;++i)
    {
        /// inv = nr de inversiuni daca inversez intervalul [i+1,n];
        inv = (n-i)*(n-i-1)/2;
        if(inv >= k)
        {
            g<<i<<' ';
        }
        else
        {
            /// nr pe care il iau din [n,i] si il pun in fata sirului
            first = n - (k - inv);
            g<<first<<' ';
            for(long long int j=n; j>first; --j)
                g<<j<<' ';
            for(long long int j= first-1; j>=i ;--j)
                g<<j<<' ';
            break;
        }

    }

    return 0;
}