Cod sursa(job #2041472)
| Utilizator | Data | 17 octombrie 2017 13:05:03 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main(){
int n;
f >> n;
int p, bestp, bestu, maxim = -1000000000, sum = -1;
for(int i = 0; i < n;++i){
int x;
f >> x;
if(x > sum+x){
if(sum > maxim){
maxim = sum;
bestp = p;
bestu = i-1;
}
p = i;
sum = x;
}
else{
if(sum > maxim){
maxim = sum;
bestp = p;
bestu = i-1;
}
sum += x;
}
}
g <<maxim << ' ' << bestp+1<< ' ' << bestu+1;
}
