Pagini recente » Cod sursa (job #1021676) | infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #2135963) | Cod sursa (job #2135990) | Cod sursa (job #1939085)
#include<fstream>
#include<climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[6000001];
int main()
{
int n,maxi=INT_MIN,j,i,m;
int pr,ul,x;
fin>>n;
int v[n+1];
for(i=1;i<=n;i++)
fin>>v[i];
s[1]=v[1];
m=INT_MAX;
for(j=1;j<=n;j++)
{
s[j]=s[j-1]+v[j];
if(m>s[j])
{
m=s[j];
x=j;
}
if(s[j]-m>maxi)
{
maxi=s[j]-m;
pr=x;
ul=j;
}
}
fout<<maxi<<" "<<pr+1<<" "<<ul;
return 0;
}
/*
#include<fstream>
#include<climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[6000003];
int main()
{
int n,a,i,x,y,z;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a;
s[i]=s[i-1]+a;
}
int Min=INT_MAX;
int Max=INT_MIN;
for(i=1;i<=n;i++)
{
if(Min>s[i-1])
{
Min=s[i-1];
x=i;
}
if(s[i]-Min>Max && i!=1)
{
Max=s[i]-Min;
y=i;
z=x;
}
}
fout<<Max<<" "<<z<<" "<<y;
}
*/