int main(void){
	int num;
	scanf("%d",&num);
	int arr[num];
	int i;
	int max = -1;
	for(i=0;i<num;i++){
		scanf("%d",&arr[i]);
		if(arr[i] > max){
			max = arr[i];
		}
	}
	Max answer;
	if(max != 0){
		answer = MaxSubsequenceSum(arr,num);
	}
	else{
		int edx = 0;
		while(arr[edx] != 0){
			edx++;
		}
		answer.left = edx;
		while(arr[edx] == 0){
			edx++;
		}
		answer.right = edx -1;
		answer.sum = 0;
	}
	
	printf("%d",answer.sum);
	printf(" %d",arr[answer.left]);
	printf(" %d",arr[answer.right]);
	return 0;
}
Beispiel #2
0
main( )
{
    static int A[ ] = { 4, -3, 5, -2, -1, 2, 6, -2 };

    printf( "Maxsum = %d\n",
            MaxSubsequenceSum( A, sizeof( A ) / sizeof( A[ 0 ] ) ) );
    return 0;
}
Beispiel #3
0
int main(int argc, char *argv[])
{
	int n = atoi(argv[1]);

	int* A = (int *)malloc(sizeof(int) * n);
		

	for (int i = 0;i < n; i++)
	{
		A[i] = RandInt(-5, 5);	
	}

	int sta = (int) clock();	
	int MaxSum = MaxSubsequenceSum(A, n);
	int end = (int) clock();	

	int dur = end - sta;

	printf("test size \t MaxSum \t clicks\n");
	printf("%d \t\t %d \t\t %d\n", n, MaxSum, dur);

	return 0;
}
int main()
{
	const int B[6]=[-2,11,-4,12,-5,-2];
	MaxSubsequenceSum(B[6], 6);
	return 0;
}