@Rahul #include<stdio.h> #include<stdlib.h> int nondecresing_maxsum(int *a,int n,int k) { int sum=0,i,count=k+1,prev_num=a[0],*dp,count1=0;; dp=(int *)malloc(sizeof(int)*(k+1)); for(i=0;i<n;++i) if(prev_num<=a[i]) { sum+=a[i]; prev_num=a[i]; dp[count1%(k+1)]=a[i]; count1++; count--; if(!count) { sum-=dp[(count1)%(k+1)]; count++; } } return sum; } int main() { int *arr,arr_size,i,k; printf("give array size and k"); scanf("%d%d",&arr_size,&k); arr=(int *)malloc(sizeof(int)*(arr_size+1)); printf("give elements"); for(i=0;i<arr_size;++i) scanf("%d",&arr[i]); printf(" %d",nondecresing_maxsum(arr,arr_size,k)); }
this is my first post plz correct me if im wrong.... but this wil not work if all array numbers r negetive... -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.