β Largest Bitonic Subarray(Contest)
Largest Bitonic Subarray easy Time Limit: 2 sec Memory Limit: 128000 kB
```java
import java.io.*; // for handling input/output
import java.util.*; // contains Collections framework
// don't change the name of this class
// you can add inner classes if needed
class Main {
public static void main (String[] args) {
Scanner sc= new Scanner(System.in);
int n = sc.nextInt();
int arr[] = new int[n];
for(int i=0; i<n ; i++){
arr[i] = sc.nextInt();
}
System.out.println(lbs(arr, n));
}
static int lbs(int arr[] , int n){
int i, j;
int [] lis = new int [n];
for(i=0; i<n; i++){
lis[i] =1;
}
for(i=1; i<n; i++){
for(j=0; j<i; j++){
if(arr[i] > arr[j] && lis[i] < lis[j] +1){
lis[i] = lis[j] +1;
}
}
}
int lds[] = new int[n];
for(i=0; i<n;i++){
lds[i] =1;
}
for(i= n-2; i>=0; i--){
for(j=n-1; j>i; j--){
if(arr[i]> arr[j] && lds[i] < lds[j] +1){
lds[i] = lds[j] +1;
}
}
}
int max = lis[0] + lds[0] -1;
for(i= 1; i< n; i++){
if(lis[i] + lds[i] -1 > max){
max=lis[i] + lds[i]-1;
}
}
return max;
}
}
```Last updated