fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. import java.util.*;
  9. import java.io.*;
  10.  
  11. class Solution{
  12. class Node{
  13. int val;
  14. int pos;
  15. Node(int pos, int val){
  16. this.val = val;
  17. this.pos = pos;
  18. }
  19.  
  20. }
  21. public static void main(String arg[]){
  22. Scanner sc = new Scanner(System.in);
  23.  
  24. int testcase = sc.nextInt();
  25.  
  26. for(int t = 0;t<testcase;t++){
  27. int N = sc.nextInt();
  28. int X = sc.nextInt();
  29. int arr[] = new int [N];
  30.  
  31. for(int i=0;i<N;i++){
  32. arr[i] = sc.nextInt();
  33. }
  34. Solution s = new Solution();
  35. System.out.print("Case #"+(t+1)+" ");
  36. s.Solve(N,X,arr);
  37. System.out.println();
  38. }
  39. }
  40.  
  41. public void Solve(int N, int X, int arr[]){
  42.  
  43. Map<Integer,ArrayList> q = new HashMap<>();
  44.  
  45. for(int i=0;i<N;i++){
  46. int num = arr[i]/X;
  47. //q.add();
  48. if(q.containsKey(num)){
  49. q.get(num).add(i);;
  50. }else{
  51. q.put(num, new ArrayList<>());
  52. q.get(num).add(i);
  53. }
  54. }
  55.  
  56. for (Map.Entry<Integer, ArrayList> entry : q.entrySet()) {
  57. //System.out.println(entry.getKey() + ":" + entry.getValue().toString());
  58.  
  59. for(int i=0;i<q.get(entry.getKey()).size();i++){
  60. System.out.print(((int)q.get(entry.getKey()).get(i)+1)+" ");
  61. }
  62. }
  63.  
  64.  
  65. }
  66. }
Success #stdin #stdout 0.16s 38020KB
stdin
2
4 3
3 7 6 0
5 6
9 10 4 7 2
stdout
Case #1 4 1 2 3 
Case #2 3 5 1 2 4