Cod sursa(job #2218919)

Utilizator HumikoPostu Alexandru Humiko Data 6 iulie 2018 13:56:48
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

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

long long n, k, position, boundary;
int plates[100005];

long long gauss( int current_Value )
{
    return current_Value*(current_Value-1)/2;
}

int main()
{
    fin>>n>>k;
    for ( int i = 1; i <= n; ++i )
        plates[i] = i;

    for ( int i = 1; i <= n; ++i )
    {
        if ( gauss(i+1) >= k )
        {
            position = i+1;
            break;
        }
    }

    for ( int i = 1; i <= n-position; ++i )
        fout<<plates[i]<<" ";

    boundary = n-(gauss(position)-k);
    fout<<boundary<<" ";

    for ( int i = n; i > n-position; --i )
        if ( plates[i] != boundary )
            fout<<plates[i]<<" ";
}