export function maximums<T, U=T>(x: T[], n: number, fc: CompareFunction<T|U> | null=null, fm: MapFunction<T, T|U> | null=null): T[] {
  var is = searchMaximumValues(x, n, fc, fm);
  return is.map(i => x[i]);
}