Mai intai trebuie sa te autentifici.
Cod sursa(job #760680)
| Utilizator | Data | 22 iunie 2012 16:48:28 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.84 kb |
#include <fstream>
using namespace std;
int main()
{
//Deschiderea fisierelor de intrare
ifstream fin("ssm.in");
ofstream fout("ssm.out");
//Declararea variabilelor
unsigned int cap=0,coada=0,cap_max=0,n=0;
int sum=-1,max=-2120000000,x=0;
//Citirea lungimii
fin>>n;
//Rezolvare in O(n)
for(register unsigned int i=0;i<n;i++)
{
fin>>x;
if(sum<0)
{
cap=i;
sum=x;
}
else
{
sum+=x;
}
if(sum>max)
{
cap_max=cap;
max=sum;
coada=i;
}
}
//Afisarea raspunsului
fout<<max<<' '<<coada+1<<' '<<cap_max+1<<'\n';
//Inchiderea fisierelor de intrare
fin.close();
fout.close();
return 0;
}
