Viết chương trình tìm đoạn con có tổng bằng S cho trước, em làm như sau nhưng không cho kq đúng, các bác có cách làm tối ưu hơn ko cho em tham khảo, mới nhập môn nên còn gà mờ, C++ càng tốt ạ
#include <iostream>
#include <fstream>
using namespace std;
int main(){
int mang_so[100];
int n,S,i,j,a,Tong;
Tong=0;
cin>>n>>S;
for (int i=0;i<n;i++){
cin>>mang_so[i];
}
for (i=0;i<n;i++){
for (j=0;j<n;j++){
if (i>j) {
Tong=0;
continue;
}
else {
for(a=i;a<j;a++){
Tong=Tong+mang_so[a];
}
}
if (Tong==S) cout<<i<<"---"<<j<<endl;
}
}
return 0;
}