Pagini recente » Cod sursa (job #2624013) | Cod sursa (job #1543719) | Cod sursa (job #2365420) | Cod sursa (job #2689317) | Cod sursa (job #360454)
Cod sursa(job #360454)
#include <stdio.h>
#include <math.h>
FILE *f,*s;
int m,n,k,i;
int main()
{
f=fopen("farfurii.in","r");
s=fopen("farfurii.out","w");
fscanf(f,"%d %d",&n,&k);
for(i=1;i<n;i*=2);
for(;i>0;i/=2)
{
if(m+i<=n && (m+i)*(m+i-1)<=2*k)
m+=i;
}
k-=(m*(m-1)/2);
if(k==0)
{
for(i=1;i<=n-m;i++)
fprintf(s,"%d ",i);
fprintf(s,"%d",n);
for(i=n-1;i<=n-m+1;i++)
fprintf(s,"%d ",i);
}
else
{
k=m-k;
m++;
for(i=1;i<=n-m;i++)
fprintf(s,"%d ",i);
fprintf(s,"%d ",n-k);
for(i=n;i>n-k;i--)
fprintf(s,"%d ",i);
for(i=n-k-1;i>n-m;i--)
fprintf(s,"%d ",i);
}
fclose(s);
return 0;
}