Cod sursa(job #635071)
Utilizator | Diaconu Ion johnny2008 | Data | 18 noiembrie 2011 13:55:34 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<fstream>
#include<iostream>
using namespace std;
int n,i,j;
int best[6000001][2];
int m=-99999,q;
int main(){
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(i=1;i<=n;i++){
f>>best[i][0];
best[i][1]=i;
best[i][2]=i;
}
q=1;
m=best[1][0];
for(i=2;i<=n;i++){
if(best[i][0]<best[i-1][0]+best[i][0]){
best[i][0]=best[i-1][0]+best[i][0];
best[i][1]=best[i-1][1];
}
if(m<best[i][0]){
m=best[i][0];
q=i;
}
}
g<<best[q][0]<<" "<<best[q][1]<<" "<<q<<'\n';
return 0;
}