Cod sursa(job #1066213)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 24 decembrie 2013 12:19:39
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

long long K,N,sol[100005],len;

inline void Read()
{
    ifstream fin("farfurii.in");
    fin>>N>>K;
    fin.close();
}

inline void Solve()
{
    long long M=1,val,i;
    while(1LL*M*(M-1)<=2LL*K)
        ++M;
    --M;
    if(1LL*M*(M-1)==2LL*K)
    {
        for(i=1;i<=N-M;++i)
            sol[++len]=i;
        for(i=N;i>N-M;--i)
            sol[++len]=i;
    }
    else
    {
        for(i=1;i<N-M;++i)
            sol[++len]=i;
        val=N-(M*(M+1)/2-K);
        sol[++len]=val;
        for(i=N;i>=N-M;--i)
            if(i!=val)
                sol[++len]=i;
    }
    ofstream fout("farfurii.out");
    for(i=1;i<=len;++i)
        fout<<sol[i]<<" ";
    fout<<"\n";
    fout.close();
}

int main()
{
    Read();
    Solve();
    return 0;
}