Caminaría 500 millas.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 512M

Author:
Problem types
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, ObjC, OCaml, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

El Granjero Juan quiere dividir sus N vacas (N \leq 7500), convenientemente numeradas 1...N, en K grupos no vacios (2 \leq K \leq N) tales que nigún par de vacas de dos grupos diferentes pueda iteractuar cada una con la otra sin caminor un número de millas. Las vacas x y y (donde 1 \leq x < y \leq N) quieren caminar (2019201913x + 2019201949y) mod 2019201997 millas para ver una a la otra.

Dada una división de las N vacas en K grupos no vacíos, sea M el mínimo del número de millas que cualesqueira dos vacas en dos grupos diferentes están dispuestas caminar para verse. Para verificar la devoción de las vacas a cada otra, el Granjero Juan quiere dividir optimamente las N vacas en K grupos de tal manera que M sea tan grande como sea posble.

Entrada

La entrada es simplemente una línea, conteniendo N y K, separados por un espacio.

Salida

Imprima M en una solución óptima.

Ejemplo de Entrada

3 2

Ejemplo de Salida

2019201769

En este ejemplo, la Vaca 1 y la Vaca 2 quieren caminar 2019201817 millas para verse una a la otra. La Vaca 2 y la Vaca 3 quieren caminar 2019201685 millas. Y la Vaca 1 y la Vaca # quieren caminar 2019201769 millas. Entonces, agrupando las vacas de tal manera que la vaca 1 sea un grupo ella misma y las vacas 2 y 3 estén agrupadas M=min(2019201817,2019201769)=2019201769 (lo cual es el mínimo que podemos hacer aquí).

USACO 2019 US Open Contest, Gold Problem 2. I Would Walk 500 Miles.


Comments

There are no comments at the moment.