Pagini recente » Cod sursa (job #1369898) | Cod sursa (job #1929680) | Cod sursa (job #508909) | Cod sursa (job #691381) | Cod sursa (job #1526430)
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
const int Nmax = 6000005;
const int INF = 2000000000;
int iMax, jMax, sMax, Min;
int D[Nmax], N;
int sum[Nmax], best[Nmax];
void citire()
{
ifstream f("date.in");
f >> N;
for(int i = 1; i <= N; i ++)
{
f >> D[i];
}
f.close();
}
void solve()
{
sum[0] = 0;
for(int i = 1; i <= N; i ++)
{
sum[i] = sum[i-1]+D[i];
}
Min = sum[0];
int iMin = 1;
sMax = -INF;
for(int i = 1; i <= N; i ++)
{
best[i] = sum[i] - Min;
if(sum[i] < Min)
{
Min = sum[i];
iMin = i;
}
if(best[i] > sMax)
{
sMax = best[i];
jMax = i;
iMax = iMin+1;
}
}
}
void print()
{
ofstream g("ssm.out");
g << sMax << " " << iMax << " " << jMax;
g.close();
}
int main()
{
citire();
solve();
print();
return 0;
}