Cod sursa(job #3202102)
| Utilizator | Data | 10 februarie 2024 17:44:23 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int INF = 9e9;
int n, sum_ending_here, max_sum_so_far = -INF, st, dr;
int main(){
fin >> n;
for(int i = 1; i <= n; i++){
int x;
fin >> x;
sum_ending_here += x;
if(sum_ending_here > max_sum_so_far) max_sum_so_far = sum_ending_here, dr = i;
if(sum_ending_here < 0) sum_ending_here = 0, st = i + 1;
}
fout << max_sum_so_far << ' ' << st << ' ' << dr;
return 0;
}