Cod sursa(job #681006)

Utilizator GaborGabrielFMI - GabrielG GaborGabriel Data 16 februarie 2012 12:52:37
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <math.h>

using namespace std;
FILE *f=fopen("farfurii.in","r");
FILE *g=fopen("farfurii.out","w");
long k,n,i,t,x,p,s,c;
float r;
int main()
{fscanf(f,"%d %d",&n,&k);
r=(-1+sqrtl(1+8*k))/2;
t=r;
c=n-t-1;
if(t==r)
{ for(i=1;i<=c;i++) fprintf(g,"%d ",i);
  for(i=n;i>=n-t;i--)fprintf(g,"%d ",i);
}
 else{ p=k-t*(t+1)/2;
       for(i=1;i<=n-t-2;i++) fprintf(g,"%d ",i);
       s=n-t-1+p;
       fprintf(g,"%d ",s);
       i=n;
       while(i>s) fprintf(g,"%d ",i--);
       i=s-1;
       while(i>c-1)fprintf(g,"%d ",i--);
     }
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}