Best Index
C Solution:
- #include<stdio.h>
- #include<math.h>
- main(){
- long n,i,k,j,left,p=0,max=-10000000;
- scanf("%ld",&n);
- long a[n],sum;
- for(i=0;i<n;i++)
- {
- scanf("%ld",&a[i]);
- if(i>0)
- a[i]+=a[i-1];
- }
- for(i=0;i<n;i++)
- {
- left=n-i;
- sum=0;
- k=(-1+(int)sqrt((double)(8*left+1)))/2;
- sum=a[(k*(k+1))/2+i-1];
- if(i!=0)
- sum-=a[i-1];
- if(max<sum)
- max=sum;
- }
- printf("%ld",max);
- }
Java Solution:
i
mport java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.util.StringTokenizer;
- class TestClass {
- public static void main(String args[] ) throws Exception {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- int n = Integer.parseInt(br.readLine());
- StringTokenizer st = new StringTokenizer(br.readLine());
- int[] arr = new int[n];
- for(int i=0; i<n; i++) {
- arr[i] = Integer.parseInt(st.nextToken());
- }
- long max = Long.MIN_VALUE;
- for(int i=0; i<arr.length; i++) {
- long sum = 0;
- int left = arr.length-i;
- int vo = 1;
- int k = i;
- while(left>0) {
- for(int j=0; j<vo; j++) {
- sum += (long)arr[k++];
- }
- vo++;
- left -= vo;
- }
- if(max<sum) max = sum;
- }
- System.out.println(max);
- }
- }
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.
Post a Comment
Post a Comment
Learn, Share and Enjoy