Pagini recente » Cod sursa (job #486834) | Cod sursa (job #1802947) | Cod sursa (job #2131915) | Cod sursa (job #290804) | Cod sursa (job #219623)
Cod sursa(job #219623)
#include<stdio.h>
inline long long f(const long long a)
{
return (a*(a-1))/2;
}
void show_N(const long long pos,const long long N)
{
long long i;
for(i=1; i<pos; ++i)
printf("%lld ",i);
for(i=N; i>=pos && i; --i)
printf("%lld ",i);
printf("\n");
}
void show_C(long long M,long long K,long long N)
{
long long aux=f(M);
long long X=aux-K;
long long i,v1=N-M;
for(i=1; i<=v1; ++i)
printf("%lld ",i);
printf("%lld ",N-X);
for(i=N; i>N-X; --i)
printf("%lld ",i);
for(i=N-X-1; i>v1; --i)
printf("%lld ",i);
printf("\n");
}
int main()
{
freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
long long K,N;
scanf("%lld%lld",&N,&K);
long long i,j,aux;
for(i=1; i<=N; ++i)
{
aux=f(i);
if( aux==K ){
show_N(N-i,N);break;}
else
if( aux>K ){
show_C(i,K,N);break;}
}
return 0;
}