Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.IOException;
- public class Best_Index{
- public static void main(String args[])throws IOException{
- InputStreamReader isr=new InputStreamReader(System.in);
- BufferedReader br=new BufferedReader(isr);
- int size=Integer.parseInt(br.readLine());
- String x[]=(br.readLine()).split(" ");
- long arr[]=new long[size];
- for(int i=0;i<size;i++){
- try{
- arr[i]=Integer.parseInt(x[i]);}
- catch(Exception e){
- continue;
- }
- }
- long final_max=-999999999;
- for(int start=0;start<size;){
- int left_number=size-start;
- int max_to_which_it_can_go=(-1+(int)Math.sqrt(1+8*(left_number)))/2;
- int numbers=((max_to_which_it_can_go)*(max_to_which_it_can_go+1))/2;
- long temp_sum=0;
- for(int i=start;i<numbers+start;i++){
- temp_sum+=arr[i];
- }
- boolean is_logic=false;
- long partial_sum=temp_sum;
- while(size-numbers-start>0){
- is_logic=true;
- int temp_start=start;
- int temp_end=numbers+start-1;
- partial_sum-=arr[temp_start];
- partial_sum+=arr[temp_end+1];
- if(partial_sum>temp_sum){
- temp_sum=partial_sum;
- }
- start++;
- }
- if(temp_sum>final_max){
- final_max=temp_sum;
- }
- if(is_logic!=true){
- start++;
- }
- }
- System.out.println(final_max);
- }
- }
Add Comment
Please, Sign In to add comment