Codeforces Not equal on a Segment Solution in Java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;


public class Notequalonasegment {

 public static void main(String[] args) {
  
  
  MyScannerneos sc=new MyScannerneos();
  PrintWriter out=new PrintWriter(System.out);
  int n=sc.nextInt();
  int m=sc.nextInt();
  int a[]=new int[n+1];
  int z[]=new int[n+1];
  z[1]=-1;
  for(int i=1;i<=n;i++)
  {
   a[i]=sc.nextInt();
   if(i!=1)
   {
    if(a[i]!=a[i-1])
    z[i]=i-1;
    else
     z[i]=z[i-1];
   }
   
  }
  for(int i=1;i<=m;i++)
  {
   int l=sc.nextInt();
   int r=sc.nextInt();
   int x=sc.nextInt();
   if(x!=a[r])
    out.println(r);
   else{
    if(z[r]>=l)
    out.println(z[r]);
    else
     out.println(-1);
   }
  }
  out.close();

 }

}
class MyScannerneos
{
 BufferedReader br;
 StringTokenizer st;
 MyScannerneos()
 {
  br=new BufferedReader(new InputStreamReader(System.in));
 }
 String next()
 {
  
  while(st==null || !st.hasMoreTokens())
  {
   try
   {
    st=new StringTokenizer(br.readLine());
   }
   catch(Exception e)
   {
    e.printStackTrace();
   }
  }
  return st.nextToken();
  
 }
 int nextInt()
 {
  return Integer.parseInt(next());
 }
 long nextLong()
 {
  return Long.parseLong(next());
 }
 double nextDouble()
 {
  return Double.parseDouble(next());
 }
 String nextLine()
 {
  String str="";
  try
  {
   str=br.readLine();
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
  return str;
  
 }
}

Comments

Popular Posts