Cod sursa(job #1439298)
| Utilizator | Data | 22 mai 2015 08:33:26 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include<fstream>
#define nmax 6000000
using namespace std;
int n,s[nmax],x,mn,mx,pmin,limD,limS,sum;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(int i=1;i<=n;i++)
{
f>>x;
s[i]=s[i-1]+x;
}
mx=-int(2e9);
mn=0;
pmin=0;
for(int i=1;i<=n;i++)
{
if(s[i]-mn>sum){
sum=s[i]-mn;
limS=pmin+1;
limD=i;
}
if(s[i]<mn)
{
mn=s[i];
pmin=i;
}
}
g<<sum<<" "<<limS<<" "<<limD;
return 0;
}
