Untitled
unknown
java
4 years ago
2.5 kB
7
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...