Pagini recente » Profil UnseenMarksman | Cod sursa (job #3306905) | Cod sursa (job #3142952) | Monitorul de evaluare | Cod sursa (job #3304852)
#include <bits/stdc++.h>
#define NMAX 2000000
#define ll long long
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, x, s = -1, smax = INT_MIN;
int start, st, dr, dif_min = INT_MAX;
int main() {
ios_base::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> n;
for (int i = 1; i <= n; i++) {
fin >> x;
if (s < 0) {
s = 0;
start = i;
}
s += x;
if (s > smax) {
smax = s;
st = start;
dr = i;
dif_min = dr - st + 1;
}
else if (s == smax && i - start + 1 < dif_min) {
st = start;
dr = i;
dif_min = dr - st + 1;
}
}
fout << smax << ' ' << st << ' ' << dr;
return 0;
}