Pagini recente » Cod sursa (job #3271027) | Cod sursa (job #2668496) | Cod sursa (job #2966153) | Cod sursa (job #2410589) | Cod sursa (job #504318)
Cod sursa(job #504318)
#include <stdio.h>
#define NMax 100000
const char IN[]="farfurii.in",OUT[]="farfurii.out";
int N,K;
bool ap[NMax];
void Write(int N,int sum)
{
int i,M=1;
for (M=1;M*(M-1)/2<K;M++);
if (M!=K) M--;
freopen(OUT,"w",stdout);
if (K==M)
{
for (i=1;i<=N-M;i++)
printf("%d ",i);
printf("%d ",N-((M+1)*M/2-K));
for (i=0;i<M;i++)
if (N-i!=N-((M+1)*M/2-K))
printf("%d ",N-i);
}
else
{
for (i=1;i<N-M;i++)
printf("%d ",i);
printf("%d ",N-((M+1)*M/2-K));
for (i=0;i<=M;i++)
if (N-i!=N-((M+1)*M/2-K))
printf("%d ",N-i);
}
fclose(stdout);
}
int main()
{
freopen(IN,"r",stdin);
scanf("%d%d",&N,&K);
fclose(stdin);
Write(N,K);
return 0;
}