Pagini recente » preONI 2008 - Clasament Runda 1, Clasele 5-8 | Cod sursa (job #2143934) | Cod sursa (job #1095500) | Cod sursa (job #1027288) | Cod sursa (job #2829165)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
#define ll long long
#define cout g
ifstream f("ssm.in");
ofstream g("ssm.out");
#define MAXN 60000002
int n;
int a[MAXN];
ll b[MAXN];
int st[MAXN];
ll mx = LLONG_MIN;
int resi;
int main()
{
f >> n;
for (int i = 1; i <= n; ++i) {
f >> a[i];
if (mx < a[i]) {
mx = a[i];
resi = i;
}
}
if (mx < 0) {
cout << mx << ' ' << resi << ' ' << resi << endl;
return 0;
}
for (int i = 1; i <= n; ++i) {
if (b[i-1] >= 0) {
b[i] = b[i-1]+a[i];
st[i] = st[i-1];
} else {
b[i] = a[i];
st[i] = i;
}
}
for (int i = 1; i <= n; ++i) {
if (mx < b[i]) {
mx = b[i];
resi = i;
}
}
cout << b[resi] << ' ' << st[resi] << ' ' << resi << endl;
return 0;
}