Pagini recente » Cod sursa (job #2774264) | Cod sursa (job #2965279) | Cod sursa (job #609195) | Cod sursa (job #875345) | Cod sursa (job #861902)
Cod sursa(job #861902)
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int tst, n, i, j, k, m, l, xmin, arest, maxv, imin, imax, jmax, smax;
vector <int> vec, vmax, sum;
//int mat[17][17];
FILE *fin, *fout;
fin = fopen ("ssm.in", "r");
fscanf (fin, "%d", &n);
//printf ("%d\n", n);
vec.resize(n, 0);
xmin = 0;
imin = -1;
sum.resize(n,0);
smax = 0;
fscanf (fin, "%d", &vec[0]);
sum[0] = vec[0];
smax = sum[0] - xmin;
imax = 0;
jmax = imin+1;
if (vec[0] < xmin) {
xmin = vec[0];
imin = 0;
}
for (i = 1; i <n; i++) {
fscanf (fin, "%d", &vec[i]);
sum[i] = sum[i-1] + vec[i];
//printf ("%d %d\n", sum[i], xmin);
if (smax < sum[i] - xmin) {
smax = sum[i] - xmin;
imax = i;
jmax = imin+1;
}
if (sum[i] < xmin) {
xmin = sum[i];
imin = i;
}
}
fclose(fin);
fout = fopen("ssm.out", "w");
fprintf (fout, "%d %d %d\n", smax, jmax+1, imax+1);
fclose(fout);
return 0;
}