main.go 528 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. type Coord struct {
  3. x, y int
  4. }
  5. func main() {
  6. }
  7. func solve(a, b, prize Coord) (an, bn int) {
  8. an, bn = 101, 101
  9. var am, bm int
  10. for am < 100 && am*a.x < prize.x {
  11. am++
  12. }
  13. for am*a.x+bm*b.x < prize.x {
  14. bm++
  15. }
  16. for 0 < am && am <= 100 &&
  17. 0 <= bm && bm <= 100 {
  18. for am*a.x+bm*b.x < prize.x {
  19. bm++
  20. }
  21. if am*a.x+bm*b.x == prize.x {
  22. if am+bm < an+bn {
  23. an, bn = am, bm
  24. }
  25. }
  26. am--
  27. for am*a.x+bm*b.x > prize.x {
  28. bm--
  29. }
  30. }
  31. if an*a.x+bn*b.x != prize.x {
  32. an, bn = -1, -1
  33. }
  34. return
  35. }