Cod sursa(job #1939085)

Utilizator vlad4761branda vlad vlad4761 Data 25 martie 2017 13:54:20
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#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;
}
*/