Pagini recente » Cod sursa (job #2198134) | Cod sursa (job #814430) | Cod sursa (job #528246) | Cod sursa (job #2665495) | Cod sursa (job #2813382)
// https://www.infoarena.ro/problema/ssm
#include <stdio.h>
struct Res {
int indFirst, indLast;
long long sum;
};
Res res;
int main() {
FILE *fin, *fout;
int n, i;
int elem;
bool flag;
long long sum;
int indFirst, indLast;
fin = fopen("ssm.in", "r");
fscanf(fin, "%d", &n);
sum = 0;
flag = false;
indLast = 0;
indFirst = 0;
for (i = 0; i < n; i++) {
fscanf(fin, "%d", &elem);
sum = sum + elem;
if (flag == true) {
indFirst = i;
flag = false;
}
if (sum < 0) {
sum = 0;
flag = true;
} else {
indLast++;
if (res.sum < sum) {
res.indFirst = indFirst;
res.indLast = indLast;
res.sum = sum;
}
}
}
fclose(fin);
fout = fopen("ssm.out", "w");
fprintf(fout, "%lld %d %d", res.sum, res.indFirst + 1, res.indLast + 1);
fclose (fout);
return 0;
}