Cod sursa(job #2065283)

Utilizator anisca22Ana Baltaretu anisca22 Data 13 noiembrie 2017 17:56:43
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
#define NMAX 100005

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

int N, K, ok;
int rsp[NMAX];

int main()
{
    fin >> N >> K;
    int i = 1;
    while ((N - i) * (N - i - 1) / 2 >= K && i <= N)
        i++;
    i--;
    for (int j = 1; j <= i; j++)
        rsp[j] = j;
    int nr = (N - i) * (N - i - 1) / 2;
    int j = i + 1;
    while (nr > K)
    {
        nr--;
        j++;
    }
    if (j != i + 1)
    {
        rsp[++i] = N - j + i;
        ok = 1;
    }
    i++;
    int cnt = 0;
    while (i <= N)
    {
        rsp[i] = N - cnt;
        if (i == j && ok == 1)
            cnt++;
        cnt++;
        i++;
    }
    for (int i = 1; i <= N; i++)
        fout << rsp[i] << " ";
    return 0;
}