Pagini recente » Borderou de evaluare (job #1861552) | Borderou de evaluare (job #1157668) | Cod sursa (job #767558)
Cod sursa(job #767558)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
void citire ( int &);
void ssm (int,int );
long long max ( long long ,long long );
//int v[6000020];
int main()
{
int n;
citire(n);
ssm (1,n);
//fout<<n;
return 0;
}
void ssm ( int a, int b)
{
long long i,j,best[b-a+20],maxim,imaxs=a,istart=a,imaxsf=a,y;
fin>>y;
best[a]=y;
maxim=y;
for (i=a+1;i<=b;i++)
{
fin>>y;
best[i]=max(y,best[i-1]+y);
if (y>best[i-1]+y)
{
istart=i;
}
if(best[i]>maxim)
{
imaxs=istart;
imaxsf=i;
maxim=best[i];
}
}
//if (maxim>best[b])
fout<<maxim<<" "<<imaxs<<" "<<imaxsf;
//else
// fout<<best[b]<<" "<<istart<<" "<<b;
}
void citire (int &n)
{
int i;
fin>>n;
//for(i=1;i<=n;i++)
//{
// fin>>v[i];
//}
}
long long max ( long long a,long long b)
{
if (a>b)
return a;
return b;
}