Cod sursa(job #3363973)
| Utilizator | Data | 25 august 2026 18:25:09 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, rez, st, dr;
int main()
{
fin >> n;
int start = 1, sum = 0;
for(int i=1; i<=n; i++) {
int x; fin >> x;
if(sum < 0) start = i, sum = 0;
sum += x;
if(sum > rez) rez = sum, st = start, dr = i;
else if(sum == rez && start < st) st = start, dr = i;
else if(sum == rez && start == st && i - start < dr - st) dr = i;
}
fout << rez << " " << st << " " << dr;
return 0;
}
