Pagini recente » Cod sursa (job #1823499) | Cod sursa (job #1357695) | Cod sursa (job #861994) | Cod sursa (job #440528) | Cod sursa (job #1822086)
#include <stdio.h>
int main()
{
unsigned long long n, k, nr, x, i;
FILE *fi=fopen("farfurii.in", "r"), *fo=fopen("farfurii.out", "w");
fscanf(fi, "%d%d", &n, &k);
//pentru ca config sa fie min lexicografica tre sa impingem farfuriile aflate descrescator cat de mult spre dreapta
//astfel va aparea la final o secv descrescatoare de x elemente
for(x=1;x*(x-1)/2<k;x++);
//la final cel mai probabil nu E x natural a.i. x*(x-1)/2==k => tre sa alegem un nr sa stea in fata acestei secvente ca sa produca k in total
k=k-(x*(x-1)/2);
nr=n+k;
for(i=1;i<=n-x;i++)
fprintf(fo, "%d ", i);
fprintf(fo, "%d", nr);
for(i=n;i>=n-x+1;i--)
if(i!=nr)
fprintf(fo, " %d", i);
fclose(fi);
fclose(fo);
return 0;
}