fork download
  1. object Main extends App {
  2. def read(n: Int, nums: List[Int]):List[Int] = {
  3. if (n == 0) nums.reverse
  4. else read(n-1, readInt() :: nums)
  5. } //> read: (n: Int, nums: List[Int])List[Int]
  6.  
  7. def repeat(nums: List[Int], k: Int):List[Int] = {
  8. var counts = nums.groupBy(x=>x).map {
  9. case (x, ls) => (x, ls.size)
  10. }
  11. for {
  12. x <- nums
  13. if (counts(x) >= k)
  14. } yield x
  15. } //> repeat: (nums: List[Int], k: Int)List[Int]
  16.  
  17. def work(N: Int, K: Int) = {
  18. var ans = repeat(read(N, List()), K)
  19. if (ans.isEmpty)
  20. println(-1)
  21. println(ans.toSet.mkString(" "))
  22. } //> work: (N: Int, K: Int)Unit
  23.  
  24. def Main(args: Array[String]) {
  25. val T = readInt();
  26. (1 to T) map {
  27. x => work(readInt(), readInt())
  28. }
  29. }
  30. }
Success #stdin #stdout 0.23s 381696KB
stdin
3
9 2
4 5 2 5 4 3 1 3 4
9 4
4 5 2 5 4 3 1 3 4
10 2
5 4 3 2 1 1 2 3 4 5
stdout
Standard output is empty