fork download
  1. import java.util.Scanner
  2.  
  3. import scala.util.control.Breaks
  4.  
  5. object Main {
  6. def main(args: Array[String]): Unit = {
  7. var N: Int = 0
  8. var X: Int = 0
  9. var Y: Int = 0
  10. var inp: Scanner = new Scanner(System.in)
  11. N = inp.nextInt()
  12. X = inp.nextInt()
  13. Y = inp.nextInt()
  14. var A: Array[Int] = new Array[Int](N)
  15. for (i <- 0 until N) {
  16. A(i) = inp.nextInt()
  17. }
  18. var min: Float = X * N
  19. var chia: Int = 1
  20. var mana: Float = 0
  21. var i: Int = 0
  22. val loop = new Breaks
  23. var dem: Int = 0
  24. while (chia < N) {
  25. dem = 0
  26. mana = 0
  27. i = 0
  28. loop.breakable {
  29. while (true) {
  30. mana = mana + X + Y * (A(i) + A(i + chia)).toFloat / 2.toFloat
  31. i = i + chia + 1
  32. if (i >= N) {
  33. loop.break()
  34. }
  35. if (i + chia >= N - 1) {
  36. if (i == N - 1) {
  37. mana = mana + 20
  38. } else {
  39. mana = mana + X + Y * (A(i) + A(N - 1)).toFloat / 2.toFloat
  40. }
  41. loop.break()
  42. }
  43. }
  44. }
  45. if (mana < min) {
  46. min = mana
  47. }
  48. chia = chia + 1
  49. }
  50. println(min)
  51. }
  52. }
  53.  
Success #stdin #stdout 0.35s 322752KB
stdin
3 20 5
0 7 100
stdout
57.5