Cod sursa(job #2928141)
| Utilizator | Data | 22 octombrie 2022 11:38:29 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
#include <limits.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int S[600005] = {0};
int main() {
int n = 0, suma = 0, smax = INT_MIN;
in >> n;
for (int i = 1; i <= n; i++) {
in >> S[i];
}
int poz0 = 0, pozf = 0;
for (int i = 1; i <= n; i++) {
suma = 0;
for (int j = i; j <= n; j++) {
suma += S[j];
if (suma > smax) {
smax = suma;
poz0 = i;
pozf = j;
}
}
}
out << smax << ' ' << poz0 << ' ' << pozf;
in.close();
out.close();
}
