Untitled

mail@pastecode.io avatar
unknown
java
2 years ago
2.5 kB
2
Indexable
Never
package tarea3_1; 

import java.util.*;

public class Tarea3_1 {
    public static void main(String[] args) {
        //ingreso numero test  
        Scanner scan = new Scanner(System.in);  
        int test = scan.nextInt();  
        
        for (int i = 0; i < test; i++) {
            //ingreso numero torres y alturas
            int torres = scan.nextInt();  
            int[] arrayNAlturas = new int[torres]
            for (int x = 0; x < torres; x++) {
                arrayAlturas[x] = scan.nextInt();
            }
            
            //calculo de torres que ve cada guardia
            int[] guardias=new int[torres];;
            int torrealta=0;
            
            for (int j = 0; j < torres; j++) {
                if(j==0){
                    guardias[j]=1;
                    torrealta=arrayNAlturas[j];
                }
                else if(arrayNAlturas[j]<arrayNAlturas[j-1]){
                    guardias[j]=1;
                }
                else if(arrayNAlturas[j]==arrayNAlturas[j-1]){
                    if(arrayNAlturas[j]<torrealta){
                        guardias[j]=arrayNAlturas[j-1]+1;
                    }
                    else if(arrayNAlturas[j]==torrealta){
                        guardias[j]=j+1;
                    }
                    else{
                        guardias[j]=j+1;
                        torrealta=arrayNAlturas[j];
                    }
                }
                else{
                    if(arrayNAlturas[j]<torrealta){
                        guardias[j]=arrayNAlturas[j]+1;
                        int count=0;
                        for (int k = j-1; k >=0; k--) {
                            if(arrayNAlturas[j]>=arrayNAlturas[k]){
                                count++;
                            }
                            else{
                                break;
                            }  
                        }
                        guardias[j]=count+1;
                    }
                    else if(arrayNAlturas[j]==torrealta){
                        guardias[j]=j+1;
                    }
                    else{
                        guardias[j]=j+1;
                        torrealta=arrayNAlturas[j];
                    }
                }
            }
            //imprime guardias
            for (int j = 0; j < torres; j++) {
                System.out.print(guardias[j]+" ");
            }
        }
        
    }
}