Pagini recente » Diferente pentru runda/problemiada_12 intre reviziile 2 si 6 | Cod sursa (job #2502956) | Istoria paginii utilizator/dmitrii | Cod sursa (job #2436515) | Cod sursa (job #1074519)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[6000001];
int n,maxx = -999999999,L;
int main()
{
int x;
fin>>n;
fin>>x;
s[1] = x;
for(int i=2 ; i<=n ; i++)
{
fin>>x;
if(s[i-1] + x > x )
{
s[i] = s[i-1]+x;
if(s[i] > maxx)maxx=s[i],L=i;
}
else
{
s[i] = x;
if(s[i] > maxx)maxx=s[i],L=i;
}
}
int j=L-1;
while(s[j] > 0 )
{
j--;
}
j+=1;
fout<<maxx<<" "<<j<<" "<<L;
fin.close();
fout.close();
return 0;
}