Pagini recente » Cod sursa (job #1742198) | Cod sursa (job #2061582) | Cod sursa (job #2954609) | Cod sursa (job #190264) | Cod sursa (job #23507)
Cod sursa(job #23507)
#include<stdio.h>
long v[10000];
int main()
{
long a, b, d, h, i, f, j, n, k, g[10000], t;
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
scanf("%ld%ld", &n, &k);
for(i=1;i<=n;i++)
{ v[i]=i; }
if(k>(n*(n-1)/2))
{ return 0; }
if(k==(n*(n-1)/2))
{ for(i=n;i>=1;i--)
{ printf("%ld", v[i]); printf(" "); }
}
if(k<(n*(n-1)/2))
{
g[1]=0; d=1;
for(i=2;i<=n;i++)
{ g[i]=g[i-1]+d;
if(k>=((i-2)*(i-1)) && k<=(i*(i-1)))
{ t=i; }
d++; }
}
if(t*(t-1)/2==k)
{ for(i=1;i<=n-t;i++)
{ printf("%ld", v[i]); printf(" "); }
for(i=n;i>=n-t+1;i--)
{ printf("%ld", v[i]); printf(" "); }
}
if(k>(t*(t-1)/2))
{
f=k-(t*(t-1)/2);
for(i=1;i<n-t;i++)
{ printf("%ld", v[i]); printf(" "); }
printf("%ld", v[n-f]); printf(" ");
h=n;
for(i=n-t+1;i<=n-f;i++)
{ printf("%ld", h); printf(" ");
h--;
}
for(i=n-f-1;i>=n-t;i--)
{ for(j=i;j>=n-t;j--)
if(v[i]<v[j])
{ v[i]=v[i]+v[j];
v[j]=v[i]-v[j];
v[i]=v[i]-v[j];
}
}
for(i=n-f-1;i>=n-t;i--)
{ printf("%ld", v[i]);
printf(" ");
}
}
return 0;
}