Cod sursa(job #677981)
Utilizator | Butiu Alexandru Octavian predator5047 | Data | 10 februarie 2012 21:01:55 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
#include <cctype>
#define IN "ssm.in"
#define OUT "ssm.out"
using namespace std;
int main()
{
int n,max = -0xfffffff,sum = -1,x,beg,end,i2;
ifstream fin(IN);
fin>>n;
for(int i=1;i<=n;++i)
{
fin>>x;
if(sum < 0 )
{
sum = x;
i2 = i;
}
else
sum += x;
if(max < sum)
{
end = i;
beg = i2;
max = sum;
}
}
fin.close();
ofstream fout(OUT);
fout << max <<" "<< beg <<" "<<end;
fout.close();
return 0;
}