Amigos, estou quebrando cabela a mais de 3 semans com esse codigo e tenhode entregar esse trabalho hoje, o programa deve calcular se a distancia entre os postos de agua for menor que a resistencia do competidor então ele consegue completar a maratona, senão ele não consegue completar, segue o codigo, por favor me deeem uma luz, ja tentei detudo enão consegui:
  package trabalho;
    public class teste {
        public static void main (String []args){
            int n, i=0, m;
            int pi[];
           
            
          
           
          n = InOut.leInt("Por favor entre com o numero de postos de agua");// quantidade de postos de agua ao longo da maratona = 8
          m = InOut.leInt("Entre com a distancia intermediaria maxima do competidor"); // resistencia por metros do competidor sem beber agua = 6000
   pi = new int[n]; //neste caso pi é um vetor com n posições => número de postos de água;
   
    for (i=0; i < n; i++){     //for contador de vetores = posições dos postos de agua
        
        int index = i + 1;  
                  
    pi[i] = InOut.leInt("Entre com a distancia entre os postos de agua");        /*serao respectivamente: 0, 6000, 12000, 18000, 24000, 32000, 37000, 40000 (com essa distancia de postos de agua o competidor com m= 6000 nao consegue completar a maratona)*/
    
        if (index  < n){         //condição para index não ultrapassar o valor de n
            if ( pi[index]-pi[i] <= m){ //se pi[i+0] - pi[i] < 6000
                
                System.out.println("S");  //por estar dentro do for a cada contagem do for ele imprime, dando erro
        
            }else{
            
            System.out.println("N"); 
            
        }
        }
    }
        }
    }