Cod sursa(job #1972533)
| Utilizator | Data | 23 aprilie 2017 12:33:56 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,s[6000001],mini=0,start,sf,i,maxim,idx;
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>s[i];
}
for (i=1;i<=n;i++)
{
s[i]=s[i]+s[i-1];
if (maxim<s[i]-mini)
{
maxim=s[i]-mini;
start=idx+1;
sf=i;
}
if (mini>s[i])
{
s[i]=mini;
idx=i;
}
}
g<<maxim<<" "<<start<<" "<<sf;
return 0;
}
