Pagini recente » Cod sursa (job #134350) | Cod sursa (job #1008434) | Cod sursa (job #5095) | Cod sursa (job #2336879) | Cod sursa (job #4725)
Cod sursa(job #4725)
#include <stdio.h>
int N,K,MAX,POZM,aux,MAX1,v;
int i;
int S[105],POZ[105];
int main()
{
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
scanf("%d %d", &N, &K);
for (i=1;i<=N;i++)
{
S[i]=N-i+1;
POZ[N-i+1]=i;
if (i*(i-1)/2<=K)
MAX=i;
}
for (i=1;i<=MAX;i++)
{
S[i]=i+S[MAX+1];
POZ[i+S[MAX+1]]=i;
}
K-=MAX*(MAX-1)/2;
for (v=S[MAX+1];K;K--,v++)
{
POZ[v]=POZ[v+1];
POZ[v+1]=MAX+1;
}
for (i=N;i;i--)
S[POZ[i]]=i;
for (i=N;i>1;i--)
printf("%d ", S[i]);
printf("%d\n", S[i]);
return 0;
}