Cod sursa(job #2282226)

Utilizator I_am_not_a_robotMr Domino I_am_not_a_robot Data 13 noiembrie 2018 15:05:30
Problema Farfurii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <set>

using namespace std;

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

typedef long long ll;

const int N=100000+5;

int n;
ll cnt;

int v[N];

int main()
{
    set<int>s;
    fin>>n>>cnt;
    for(int i=1;i<=n;i++)
    {
        s.insert(i);
        ll lft=n-i;
        ll x=lft*(lft-1)/2;
        if(cnt<=x)
        {
            v[i]=0;
        }
        else
        {
            v[i]=cnt-x;
        }
        cnt-=v[i];
    }

    for(int i=1;i<=n;i++)
    {
        auto it=s.begin();
        advance(it,v[i]);
        fout<<*it<<" ";
        s.erase(*it);
    }
    fout<<"\n";
    return 0;
}