Berechnung des maximalen Produkts einer Teilfolge mit Zerlegung in Primfaktoren
TypeScript
Hard
math
Aufgabe «Berechnung des maximalen Produkts einer Teilfolge mit Zerlegung in Primfaktoren»
Gegeben ist eine Folge ganzer Zahlen a1, a2, ..., an. Es soll das maximale Produkt einer Teilfolge (nicht notwendigerweise zusammenhängend) der Länge k gefunden werden, wobei k vorgegeben ist. Dabei ist es erlaubt, Elemente in ihre Primfaktoren zu zerlegen, jedoch höchstens einmal pro Element. Das bedeutet, für jedes Element kann man es entweder vollständig nehmen oder durch einen seiner Primfaktoren ersetzen (falls es keine Primzahl ist), und erst dann im Produkt verwenden. Falls ein Element eine Primzahl ist, kann man es nur vollständig nehmen oder weglassen. Gesucht ist das größtmögliche Produkt modulo 10^9+7.
Eingabeformat
Die erste Zeile enthält zwei ganze Zahlen n und k (1 ≤ k ≤ n ≤ 1000). Die zweite Zeile enthält n ganze Zahlen a_i (2 ≤ a_i ≤ 10^9).
Ausgabeformat
Geben Sie eine ganze Zahl aus — das maximale Produkt modulo 10^9+7.
main.ts