Pagini recente » Borderou de evaluare (job #2282859) | Borderou de evaluare (job #2753103) | Cod sursa (job #388937) | Cod sursa (job #1659246)
#include <iostream>
#include <fstream>
using namespace std;
int n,i,mn,mx,p1,p2,pmn;
long long s[6000005],v[6000005];
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
s[i]=s[i-1]+v[i];
}
mn=s[1];
for(i=2;i<=n;i++)
{
if(s[i-1]<mn)
{
mn=s[i-1];
pmn=i;
}
if(s[i]-mn==mx && pmn==p1 && p2-p1>i-pmn)
{
mx=s[i]-mn;
p2=i;
p1=pmn;
}
else if(s[i]-mn==mx && pmn<p1)
{
mx=s[i]-mn;
p2=i;
p1=pmn;
}
else if(s[i]-mn>mx)
{
mx=s[i]-mn;
p2=i;
p1=pmn;
}
}
g<<mx<<" "<<p1<<" "<<p2;
return 0;
}