Cod sursa(job #1262931)
| Utilizator | Data | 13 noiembrie 2014 18:17:36 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <fstream>
#define aaa 100000000
using namespace std;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int Max,MAX=-aaa,sfr=1,inc=1,n,v[6000005],i;
void pr(int n,int v[])
{
int i,Max=-aaa,sf=1,in=1;
for (i=1;i<=n;i++)
{
if (Max+v[i]>=v[i])
{
Max+=v[i];
sf=i;
}
else
{
Max=v[i];
in=i;
}
if (Max>MAX)
{
inc=in;
sfr=sf;
MAX=Max;
}
}
}
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>v[i];
}
pr(n,v);
g<<MAX<<' '<<inc<<' '<<sfr;
return 0;
}
