Cod sursa(job #2314167)

Utilizator IordachescuAncaFMI Iordachescu Anca Mihaela IordachescuAnca Data 7 ianuarie 2019 23:51:07
Problema Farfurii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<fstream>
#define M 100007

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

int N, K, i, v[M], c;

int main()
{
    fin >> N >> K;

    int x = 1;
    while(x*(x-1)/2<K)
    {
        x++;
    }

    if(x*(x-1)/2 == K)
    {
        c=0;
        for(i=1;i<=N-x;i++)
        {
            c++;
            v[c]=i;
        }
        for(i=N;i>=N-x+1;i--)
        {
            c++;
            v[c]=i;
        }
    }
    else
    {
        x--;
        long long nr = N-((x+1)*x/2-K);
        c=0;
        for(i=1;i<=N-x-1;i++)
        {
            c++;
            v[c]=i;
        }
        c++;
        v[c]=nr;
        for(i=N;i>=N-x;i--)
        {
           if(i==nr)
           {
               continue;
           }
           c++;
           v[c]=i;
        }

    }

    for(i=1;i<=N;i++)
    {
        fout<<v[i]<<" ";
    }
    fin.close();
    fout.close();
    return 0;
}