Pagini recente » Cod sursa (job #1178123) | Cod sursa (job #1760541) | Cod sursa (job #3213110) | Cod sursa (job #2405120) | Cod sursa (job #219626)
Cod sursa(job #219626)
#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)
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=2; i<=N; ++i)
{
aux=f(i);
if( aux==K ){
show_N(N-i+1,N);break;}
else
if( aux>K ){
show_C(i,K,N);break;}
}
return 0;
}