Pagini recente » Cod sursa (job #2516587) | Arhiva de probleme | Cod sursa (job #2217904) | Clasament arhiva | Cod sursa (job #2312703)
#include<stdio.h>
int main()
{
long long n, aux;
long long auxk, k;
FILE *f = fopen("farfurii.in", "r+");
FILE *g = fopen("farfurii.out", "w+");
fscanf(f, "%lli%lli", &n, &k);
aux = n - 1;
//daca nu exista tacamuri, nu exista inversiuni
if(k == 0)
{
for(int i = 0; i < n; i++)
fprintf(g, "%lli ", i);
}
//calculez nr de inversiuni necesare
else
{
auxk = 1LL *n * (n - 1) / 2 - k;
while(auxk >= aux)
{
fprintf(g, "%lli ", n - aux);
auxk = auxk - aux;
aux -- ;
}
fprintf(g, "%lli ", n - auxk);
for(int i = n; i >= n - aux; i--)
{
if( i + auxk != n)
fprintf(g, "%lli ", i);
}
}
return 0;
}