Cod sursa(job #662737)
| Utilizator | Data | 16 ianuarie 2012 22:41:03 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include<fstream>
using namespace std;
long long maxim,sum,i,n,incep,termin,poz,a;
int main(){
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
maxim=-2000000000;
f>>sum;
for (i=2;i<=n;i++){
f>>a;
if (sum>0) sum=sum+a;
else {
sum=a;
poz=i;
}
if (sum>maxim){
incep=poz;
termin=i;
maxim=sum;
}
}
g<<maxim<<" "<<incep<<" "<<termin;
return 0;
}