Cod sursa(job #2454594)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 9 septembrie 2019 14:41:17
Problema Farfurii Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>

using namespace std;

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

int n,k,i,sol;

int main (){


    fin>>n>>k;

    int st = 0, dr = n;
    while (st <= dr){
        int mid = (st+dr)>>1;
        if ((n-mid)*(n-mid-1)/2 >= k){
            sol = mid;
            st = mid+1;
        } else dr = mid-1;
    }

    int inv = (n-sol)*(n-sol-1)/2;
    /// inv - (n-val) = k
    int val = k+n-inv;
    for (i=1;i<=sol;i++)
        fout<<i<<" ";
    if (val)
        fout<<val<<" ";
    for (i=n;i>sol;i--)
        if (i != val)
            fout<<i<<" ";

    return 0;
}