Pagini recente » Cod sursa (job #287802) | Cod sursa (job #1256761) | Cod sursa (job #2184982) | Cod sursa (job #1817592) | Cod sursa (job #1822082)
#include <stdio.h>
int main()
{
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
x--;
k=k-(x*(x-1)/2);
nr=x+k-1;
for(i=1;i<x-1;i++)
fprintf(fo, "%d ", i);
fprintf(fo, "%d", nr);
for(i=n;i>=x-1;i--)
if(i!=nr)
fprintf(fo, " %d", i);
fclose(fi);
fclose(fo);
return 0;
}