Pagini recente » Cod sursa (job #1599255) | Cod sursa (job #2777164) | Cod sursa (job #2717604) | Cod sursa (job #2794477) | Cod sursa (job #2152624)
#include <iostream>
#include <fstream>
#define nmax 6000000+1
#define inf 10000000
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,a[nmax],BEST[nmax],bestSum=inf,ind,ind2,suma;
void solve()
{
bestSum=a[1];
for(int i =1 ; i <= n ; i++)
BEST[i]=a[i];
for(int i =2 ; i <= n ; i++)
{
if(BEST[i] < BEST[i-1]+a[i] )
BEST[i]=BEST[i-1]+a[i];
if(bestSum<BEST[i])
{
bestSum=BEST[i];
ind=i;
}
}
}
void read()
{
fin>>n;
for(int i = 1; i <= n ; i++)
fin>>a[i];
}
int solveWrite()
{
ind2=ind;
while(ind2>0)
{
suma+=a[ind2];
ind2--;
if(suma==bestSum) break;
}
}
int main()
{
read();
solve();
solveWrite();
fout<<bestSum<<" "<<ind2+1<<" "<<ind;
return 0;
}