Cod sursa(job #1480954)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 3 septembrie 2015 15:10:52
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
long long n,k;
int main()
{
    fstream f,g;
    f.open("farfurii.in",ios::in);
    g.open("farfurii.out",ios::out);
    f>>n>>k;
    long long i;
    long long nr = (long long)(( 1 + sqrt(1+0.0+8*k))/2);

    if (((nr-1)*nr)/2 == k)
    {
        for (i = 1 ; i<=n-nr ; i++)
            g<<i<<' ';
        for (i = n ; i > n-nr; i-- )
            g<<i<<' ';
        return 0;
    }

        for (i = 1 ; i<n-nr ; i++)
            g<<i<<' ';
    long long nr3 = k - nr*(nr-1)/2;
    long long crt = n - nr ;
    g<<crt + nr3<<' ';
    for (i = n ; i >= n-nr; i-- )
        if (i != (crt+nr3))
            g<<i<<' ';
    return 0;
}