Pagini recente » Cod sursa (job #2233384) | Cod sursa (job #2423684) | Cod sursa (job #2655418) | Istoria paginii runda/6657/clasament | Cod sursa (job #832888)
Cod sursa(job #832888)
#include <fstream>
using namespace std;
int main () {
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n,i,j,sum=0,smax=-(1 << 30),a,b,start=1;
int x;
fin>>n;
for(i=1;i<=n;i++){
fin >> x;
// calculam in sum suma maxima a unei subsecvente care se termina pe pozitia i
// si in start tinem pozitia de inceput a acestei subsecvente
if(x+sum>=x)
sum+=x;
else{
sum=x;
start=i;
}
if(sum>smax){
smax=sum;
a=start;
b=i;
}
}
fout<<smax<<' '<<a<<' '<<b<<' '<<endl;
return 0;
}