Pagini recente » Cod sursa (job #2677083) | Cod sursa (job #1898628) | Cod sursa (job #404918) | Cod sursa (job #2778004) | Cod sursa (job #2240254)
#include <fstream>
#include <limits.h>
using namespace std;
int sum;
int n, i, x, minim, bestsum, c, d, maxlen=INT_MAX,c1;
int main () {
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
fin>>n;
bestsum=INT_MIN;
sum=0;
c=1;
for (i=1;i<=n;i++) {
fin>>x;
if(sum+x>=x){// este de preferat sa adaug x la sum
sum+=x;
}
else // cu elementul din pozitia i poate sa inceapa o subsecventa de suma mai mare
{
sum=x;
c=i;
}
if(sum>bestsum){
bestsum=sum;
c1=c;
d=i;
}
}
fout<<bestsum<<" "<<c1<<" "<<d;
return 0;
}