Cod sursa(job #1480953)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 3 septembrie 2015 15:08:46
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int n,k;
int main()
{
    fstream f,g;
    f.open("farfurii.in",ios::in);
    g.open("farfurii.out",ios::out);
    f>>n>>k;
    int i;
    int nr = (int)(( 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<<' ';
    int nr3 = k - nr*(nr-1)/2;
    int crt = n - nr ;
    g<<crt + nr3<<' ';
    for (i = n ; i >= n-nr; i-- )
        if (i != (crt+nr3))
            g<<i<<' ';
    return 0;
}