Best Index


C Solution:
  1. #include<stdio.h>
  2. #include<math.h>
  3. main(){
  4. long n,i,k,j,left,p=0,max=-10000000;
  5.  scanf("%ld",&n);
  6.  long a[n],sum;
  7.  for(i=0;i<n;i++)
  8.  {
  9.  scanf("%ld",&a[i]);
  10.  if(i>0)
  11.  a[i]+=a[i-1];
  12.  }
  13.  for(i=0;i<n;i++)
  14.  {
  15.  left=n-i;
  16.  sum=0;
  17.  k=(-1+(int)sqrt((double)(8*left+1)))/2;
  18.  sum=a[(k*(k+1))/2+i-1];
  19.  if(i!=0)
  20.  sum-=a[i-1];
  21.  if(max<sum)
  22.  max=sum;
  23.  }
  24.  printf("%ld",max);
  25. }

Java Solution:
  1. i

    mport java.io.BufferedReader;

  2. import java.io.InputStreamReader;
  3. import java.util.StringTokenizer;
  4. class TestClass {
  5. public static void main(String args[] ) throws Exception {
  6. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  7. int n = Integer.parseInt(br.readLine());
  8. StringTokenizer st = new StringTokenizer(br.readLine());
  9. int[] arr = new int[n];
  10. for(int i=0; i<n; i++) {
  11. arr[i] = Integer.parseInt(st.nextToken());
  12. }
  13. long max = Long.MIN_VALUE;
  14. for(int i=0; i<arr.length; i++) {
  15. long sum = 0;
  16. int left = arr.length-i;
  17. int vo = 1;
  18. int k = i;
  19. while(left>0) {
  20. for(int j=0; j<vo; j++) {
  21. sum += (long)arr[k++];
  22. }
  23. vo++;
  24. left -= vo;
  25. }
  26. if(max<sum) max = sum;
  27. }
  28. System.out.println(max);
  29. }
  30. }
Note:
       We Are Providing Every Content in this Blog Inspired From Many People and Provide it Open To All People Who Are Willing Gain Some Stuff in Computer Science.

Comment Below👇 If You Find Better Solution Than Above Solution.