Untitled
unknown
java
3 years ago
2.5 kB
4
Indexable
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]+" "); } } } }
Editor is loading...