Programación Wincc c
#Contiene? & ltstring.h & gt
#¿Contiene? & ltstdio.h & gt
¿Usar? ¿Espacio de nombres? estándar
const? int? ¿norte? =?1005;
int? a[N], tmp[N];
int? ans
¿No válido? Fusionar(int? l, int? m, int? r)
{
int? ¿I? =?l;
int? j? =?metro? +?1;
int? k? =?l;
Y (yo?& lt=?m?& amp& amp?j?& lt=?r)
{
Si ( a[i]? & gt? a[j])
{
tmp[k++]? =?a[j++];
ans? +=?m? -?¿I? +?1;
}
Otro
{
tmp[k++]? =?a[i++];
}
}
¿Y (yo?& lt=?m)? tmp[k++]? =?a[i++];
¿Y (j?<=?r)? tmp[k++]? =?a[j++];
for(int?I = l;i<= r;i++)
A[i]? =?tmp[I];
}
¿No es válido? Merge_sort(int? l, int? r)
{
if (l?& lt?r)
{
int ? ¿metro? =?(l?+?r)? >>? 1;
Merge_sort(l, m);
Merge_sort(m+1, r);
Merge(l, m, r); p>
Fusionar_sort(m+1, r);
Fusionar(l, m, r);
p>
}
}
int? principal()
{
int? n, T, TT = 1;
scanf("%d ", & ampt
mientras(T -)
{
scanf("%d ",&n);
for(int?i=0;i<n;i++)
scanf("%d",& ampa[I ]);
ans? =?0;
Merge_sort(0, n-1);
printf("¿Escenario? #%d:\n%d\n\n ", tt++, ans) ;
}
¿Volver? 0;
}