Cod sursa(job #462294)
Utilizator | Tudorica Andrei DEYDEY2 | Data | 10 iunie 2010 12:31:43 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<fstream>
using namespace std;
int st,dr,n,i,x[6000001],maxim,max1=0,max2=0,s;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(i=1;i<=n;i++) f>>x[i];
maxim=x[1];
for(st=1;st<=n;st++)
{
s=0;
for(dr=st;dr<=n;dr++)
{
s=s+x[dr];
if(s>maxim) {max1=st; max2=dr;maxim=s;}
}
}
if(maxim<0)
{
for(i=1;i<n;i++){ if(x[i]>maxim){ maxim=x[i]; max1=i;}} g<<maxim<<' '<<i<<' '<<i;
}
else g<<maxim<<' '<<max1<<' '<<max2;
f.close();
g.close();
return 0;
}