Pagini recente » Cod sursa (job #2813228) | Cod sursa (job #239876) | Cod sursa (job #2292497) | Cod sursa (job #2898130) | Cod sursa (job #70351)
Cod sursa(job #70351)
#include<stdio.h>
#include<values.h>
long long unsigned n,k,m;
long long unsigned cauta(long long unsigned k)
{
long long unsigned 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,"%llu %llu",&n,&k);
m=cauta(k);
long long unsigned i;
if(k<=m*(m-1)/2)
{
for(i=1;i<=n-m;++i) fprintf(g,"%llu ",i);
for(i=n-1;i>n-m;--i) fprintf(g,"%llu ",i);
}
else
{
for(i=1;i<=n-m-1;++i) fprintf(g,"%llu ",i);
fprintf(g,"%llu ",n-((m+1)*m/2-k));
for(i=n;i>=n-m;--i) if(i!=n-((m+1)*m/2-k))fprintf(g,"%llu ",i);
}
return 0;
}