Cải tiến chương trình tìm tổng lớn nhất trong tất cả các tổng của các vector con của mảng sao cho thực hiện nhanh hơn

đề bài: Giả sử ta có 1 vecto X chứa N số nguyên . Ta định nghĩa vecto con của X là vecto mà thành phần của nó là các thành phần liên tiếp trong X (vecto rỗng có thể xem là vecto con của X). Ta gọi tổng của 1 vecto là tổng của tất cả các thành phần của nó. Hãy cải tiến chương trình tìm tổng lớn nhất trong tất cả các tổng của các vecto con của Mảng sao cho thực hiện nhanh hơn
đây là code của em. Có cách nào để tối ưu thuật toán này không ạ?

#include <iostream>
using namespace std;
void Input_Array(int* X, int N)
{
	for (int i = 0; i < N; i++)
	cin>> X[i];
}
int main()
{
	long  Max = -INT_MAX, i, j, k, Sum;
	int N;
	cin >> N;
	int* X = new int[N];
	Input_Array(X, N);
	for ( i=1; i<= N ; i++ )
{  for (j = i; j <= N ; j++) 
	{   Sum = 0;
	for  (k=i ; k <= j ; k++)  Sum = Sum + X[k];
	}
  Max = (Max < Sum ? Sum : Max) ;
}
cout << Max;
	delete[] X;
	return 0;
}

.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?