HackerEarth Stevie problem solution YASH PAL, 31 July 2024 In this HackerEarth Stevie! problem solution You have been given 2 integer arrays A and B each of size N. Now we call a pair of indices (i,j) connected if i = j or A[i] = A[j]. Now, for each index i in the array A where 1 <= i <= N, you need to find the maximum B[j] such that indices i and j are connected. Can you do it ? HackerEarth Stevie! problem solution. import java.io.*;import java.util.*;import java.math.*;public final class solution{ static BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); static FastScanner sc=new FastScanner(br); static PrintWriter out=new PrintWriter(System.out); static Random rnd=new Random(); static Map<Integer,Integer> m1=new HashMap<>(); static int max_val=(int)(1e9); static void put(int idx,int val) { if(m1.get(idx)==null) { m1.put(idx,val); } else { m1.put(idx,Math.max(m1.get(idx),val)); } } public static void main(String args[]) throws Exception { int n=sc.nextInt();int[] a=new int[n],b=new int[n]; if(n<1 || n>200000) throw new Exception("Violation of Constraints"); for(int i=0;i<n;i++) { a[i]=sc.nextInt(); if(a[i]<1 || a[i]>max_val) throw new Exception("Violation of Constraints"); } for(int i=0;i<n;i++) { b[i]=sc.nextInt(); if(b[i]<1 || b[i]>max_val) throw new Exception("Violation of Constraints"); put(a[i],b[i]); } for(int i=0;i<n;i++) { out.print(m1.get(a[i])+" "); } out.println("");out.close(); }}class FastScanner{ BufferedReader in; StringTokenizer st; public FastScanner(BufferedReader in) { this.in = in; } public String nextToken() throws Exception { while (st == null || !st.hasMoreTokens()) { st = new StringTokenizer(in.readLine()); } return st.nextToken(); } public String next() throws Exception { return nextToken().toString(); } public int nextInt() throws Exception { return Integer.parseInt(nextToken()); } public long nextLong() throws Exception { return Long.parseLong(nextToken()); } public double nextDouble() throws Exception { return Double.parseDouble(nextToken()); }} Second solution #include <bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; vector <int> A(n), B(n); for (int i = 0; i < n; ++i) { cin>>A[i]; } for (int i = 0; i < n; ++i) { cin>>B[i]; } map <int,int> val; for (int i = 0; i < n; ++i) { val[A[i]] = max(B[i], val[A[i]]); } for (int i = 0; i < n; ++i) { cout<<val[A[i]]<<" "; } return 0;} coding problems