Pagini recente » Cod sursa (job #2673365) | Cod sursa (job #469235) | Cod sursa (job #663694) | Cod sursa (job #1771989) | Cod sursa (job #70357)
Cod sursa(job #70357)
#include<stdio.h>
#include<values.h>
long long n,k,m;
long long cauta(long long k)
{
long long p;
for (p=1; p<n; p*=2);
for (m=0; p>0; p/=2)
if (m+p<=n && (m+p)*(m+p-1)<=2*k) m+=p;
return m;
}
int main()
{
FILE*f=fopen("farfurii.in","r");
FILE*g=fopen("farfurii.out","w");
fscanf(f,"%lld %lld",&n,&k);
m=cauta(k);
long long i;
k-=m*(m-1)/2;
if (k==0)
{
for (i=1; i<=n-m; i++) fprintf(g,"%lld ",i);
for (i=n; i>n-m; i--) fprintf(g,"%lld ",i);
}
else
{
k=m-k; m++;
for (i=1; i<=n-m; i++) fprintf(g,"%lld ",i);
fprintf(g,"%lld ",n-k);
for (i=n; i>n-k; i--) fprintf(g,"%lld ",i);
for (i=n-k-1; i>n-m; i--) fprintf(g,"%lld ",i);
}
return 0;
}