## DMPG '18 B4 - Shimnanigans (Hard Version)

View as PDF

Points: 5
Time limit: 0.6s
Memory limit: 64M

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

As Mr. Shim (your favourite math teacher) always says, you control the numerator and he controls the denominator. While you may control the numerator, Mr. Shim can manipulate the denominator as he pleases, and thus controls the value. There are students in the class, and you will be given numerators that represents the grade of each student. You will also be given denominators, the denominators that Mr. Shim is considering using. It is your job to choose the optimal denominator for your class in order to obtain the class average of .

There are however, a few concerning limitations! The most important one is that students are not allowed to have a grade over , meaning that the numerator can never be larger than the denominator. Additionally, you also cannot allow the class to fail (to have an average below ). If no such denominators meet those limitations, then output Shimnanigans have failed. Which denominator gives the average closest to ?

Differences between this problem and the original problem will be bolded.

The original problem had weak test data, so this version will have stronger data. Users are encouraged to hack other submissions.

#### Input Specification

The first line will contain space separated positive integers, , and .

The next line will each contain space separated positive integers, representing the given numerators. The numerators will be at most .

The next line will each contain space separated positive integers, representing the possible denominators. The denominators will be at most .

#### Output Specification

Output the denominator that will place the average closest to . If no denominators are valid, then output Shimnanigans have failed. If there are two denominators that yield equally close averages, output the larger one because you love your classmates.

#### Sample Input 1

3 3 100
23 31 27
27 35 32

#### Sample Output 1

32

#### Sample Input 2

10 1 87
7 2 3 4 3 5 11 1 2 8
1

#### Sample Output 2

Shimnanigans have failed