Pagini recente » Cod sursa (job #2755365) | Cod sursa (job #2506216) | Cod sursa (job #2533258) | Cod sursa (job #445753) | Cod sursa (job #717793)
Cod sursa(job #717793)
#include <stdio.h>
long min(long x,long y)
{
int aux;
if(x>y){aux=y;}
else{aux=x;}
return aux;
}
FILE *f,*g;
long n,k,i,r,a[100002],mem,j;
int main()
{
f=fopen("farfurii.in","r");
g=fopen("farfurii.out","w");
fscanf(f,"%ld%ld",&n,&k);
i=n;
while(k){
r=min(n-i,k);
a[i]=r;
k-=r;
i--;
if(k==0){mem=i+1;}
}
k=1;a[0]=10000000;
while(a[k]==0){a[k]=k;k++;}
r=mem;
for(j=n;j>r;j--){
if(a[mem]==a[j]){a[mem]=k;k++;mem=0;}
a[j]=k;
k++;
}
if(mem){a[mem]=k;}
for(i=1;i<=n;i++){fprintf(g,"%ld ",a[i]);}
fclose(f);fclose(g);
}