Cod sursa(job #680987)

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

using namespace std;
FILE *f=fopen("farfurii.in","r");
FILE *g=fopen("farfurii.out","w");
int k,n,i,t,x,p,s,c;
float r;
int main()
{fscanf(f,"%d %d",&n,&k);
r=(-1+sqrtf(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);
       for(i=n;i>s;i--) fprintf(g,"%d ",i);
       for(i=s-1;i>=c;i--) fprintf(g,"%d ",i);
     }

fprintf(g,"\n");
fclose(f);
fclose(g);

return 0;
}