Pagini recente » Cod sursa (job #811939) | Cod sursa (job #1952420) | Cod sursa (job #2872115) | Cod sursa (job #2419335) | Cod sursa (job #2093203)
#include <stdio.h>
#include <stdlib.h>
#define Nmax 100005
FILE *f;
FILE *g;
void muta (int l,int r,int *a)
{
int i,aux;
aux=a[r];
for (i=r;i>l;i--)
a[i]=a[i-1];
a[l]=aux;
}
int main()
{int i,n,k,poz=1;
int de_scos;// cate inversiuni trebuie scoase
int *vector;
vector=malloc(Nmax*sizeof(int));
int aux;
f=fopen("farfurii.in","r");
g=fopen("farfurii.out","w");
fscanf(f,"%d %d",&n,&k);
while (poz*(poz+1)/2<k) poz++;
aux=n;
printf ("%d",poz);
for (i=1;i<=n-(poz+1);i++)
vector[i]=i;
for (i=n-(poz);i<=n;i++)
{
vector[i]=aux;
aux--;
}
de_scos=(poz)*(poz+1)/2-k;
muta(n-poz,n-poz+de_scos,vector);
for (i=1;i<=n;i++)
fprintf (g,"%d ",vector[i]);
return 0;
}