Pagini recente » Cod sursa (job #1845771) | Cod sursa (job #2281443) | Cod sursa (job #2536479) | Cod sursa (job #1144374) | Cod sursa (job #1528390)
#include<iostream>
#include<fstream>
using namespace std;
int maxim (int a,int b)
{
if (a>b)
return a;
else
return b;
}
int main ()
{
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
fin>>n;
int v[n];
for (int i=0;i<n;i++)
{
fin>>v[i];
}
int DP[n+1];
DP[0]=0;
int inceput=0;
int sfarsit=0;
int maximul=-10000;
int ct=0;
for (int i=0;i<n;i++)
{
DP[i]=maxim(DP[i-1]+v[i],v[i]);
if (DP[i]>maximul)
{
maximul=DP[i];
sfarsit=i;
ct++;
}
}
inceput=sfarsit+1-ct;
fout<<maximul<<" "<<inceput<<" "<<sfarsit+1;
fin.close();
fout.close();
}