Dưới đây là code thuật toán tìm dãy con lớn nhất hay nói cụ thể hơn là tìm dãy con có tổng max. Mã: #include <iostream> using namespace std; int tong(int a[], int left, int right) { return left==right ? a[left] : a[left]+tong(a, left+1, right); } void main() { int a[100], n,i,j; cout<<" Nhap so phan tu cua day: "; cin >> n; for (i=0; i<n; i++) { cout<<"A["<<i<<"]="; cin >> a[i]; } int max = a[0], max1; int imax = 0, jmax = 0; for (i=0; i<n; i++) for (j=i; j<n; j++) { if(i==0 && j==n-1); max1 = tong(a, i, j); if(max1 > max) {max = max1; imax = i; jmax = j;} } cout<<"Day ban dau la: "; for (i=0; i<n; i++) cout<<a[i]<< " "; cout <<"\nDay con lon nhat(co tong max) la: "; for (i=imax; i<=jmax; i++) cout<<a[i]<<" "; cout<<"Co tong trong so la: "<<max<<endl; }