Cod sursa(job #1155951)

Utilizator teo.serbanescuTeo Serbanescu teo.serbanescu Data 27 martie 2014 12:13:07
Problema Farfurii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

using namespace std;

FILE *f,*g;

unsigned long long k,nr,nr1,nrsp,sp,i,n;

int main()
{
    f=fopen("farfurii.in","r");
    g=fopen("farfurii.out","w");
    fscanf(f,"%llu%llu",&n,&k);

    nr1=0;
    sp=0;
    for (i=1;(i<n)&&(nr1<k);i++)
    {
        nr=i;
        nr1=(i*(i+1))/2;
        if (nr1==k) sp=1;
    }
    if (sp)
    {
        for (i=1;i<=nr;i++) fprintf(g,"%llu ",i);
        for (i=n;i>=nr+1;i--) fprintf(g,"%llu ",i);
    }
    else
    {
        nrsp=n-nr*(nr+1)/2+k;
        nr-=2;
        for (i=1;i<=nr;i++) fprintf(g,"%llu ",i);
        fprintf(g,"%llu ",nrsp);
        for (i=n;i>nr;i--) if (i!=nrsp) fprintf(g,"%llu ",i);
    }
    fclose(f);fclose(g);
    return 0;
}