Cod sursa(job #2754191)

Utilizator vasiliumirunamariaVasiliu Miruna-Maria vasiliumirunamaria Data 25 mai 2021 13:26:33
Problema Farfurii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
#define N 100001

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


int v[N];
int n, k;
int f[N];

int main()
{
    int i, j, p;
    int t;

    fin >> n >> k;
    
    t = 0;
    while (t * (t - 1) / 2 <= k)
        t++;

    for (i = 1; i <= n - t; i++)
    {
        v[i] = i;
        f[i] = 1;
    }

    if (t * (t - 1) / 2 > k)
    {
        v[n - t + 1] = v[n - t] + (t * (t - 1) / 2) - k + 1;
        f[v[n - t] + (t * (t - 1) / 2) - k + 1] = 1;
        p = n - t + 2;
    }
    else p = n - t + 1;

    j = n;
    for (i = p; i <= n; i++)
    {
        while (f[j])

            j--;
        v[i] = j;
        j--;
    }
        


    for (i = 1; i <= n; i++)
        fout << v[i] << " ";

   


    return 0;
}