Pagini recente » Cod sursa (job #650116) | Cod sursa (job #155788) | Cod sursa (job #1213482) | Cod sursa (job #1231251) | Cod sursa (job #531325)
Cod sursa(job #531325)
#include <fstream.h>
int a , i , j , V[6000001] , sum , max , b , c, pMax, uMax, S[6000001];
//S[i] = suma maxima a unei secventye care se termina cu V[i]
// Ex -4 2 -1 3 4 -9 7
//S 4- 2 1 4 8 -1 7
// S[i] = max (S[i-1]+V[i], V[i])
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>a;
for(i=1;i<=a;i++){
f>>V[i];
}
S[1] = V[1];
b = 1;
for (i=2;i<=a;i++) {
if (S[i-1]+V[i]>=V[i]) {
S[i] = S[i-1]+V[i];
} else {
S[i] = V[i];
b = i;
}
if (S[i]>max) {
max = S[i];
uMax = i;
pMax = b;
}
}
g<<max<<" "<<pMax<<" "<<uMax;
f.close();
g.close();
return 0;
}