Pagini recente » Cod sursa (job #2238888) | Cod sursa (job #1153394) | Cod sursa (job #938442) | Cod sursa (job #2438367) | Cod sursa (job #1320266)
#include <iostream>
#include <fstream>
#include <iomanip>
#include <algorithm>
#include <set>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <utility>
#include <string>
#include <cstring>
#include <cctype>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <limits>
#include <sstream>
#include <deque>
#include <bitset>
#include <complex>
#include <functional>
#include <memory>
#include <numeric>
#define x first
#define y second
typedef std::pair<int, int> pii;
using namespace std;
int a[6000001], istart, ifinish;
long long trav(int a[], int n)
{
long long smax = -1LL<<60;
long long sum = 0;
for(int i = 0; i < n; i++)
{
if(sum < 0 && a[i] > sum) {
sum = 0;
istart = i;
}
sum += a[i];
if(sum > smax) {
ifinish = i;
smax = sum;
}
}
return smax;
}
int main () {
FILE *in = fopen("ssm.in", "r");
FILE *out = fopen("ssm.out", "w");
int n;
fscanf(in, "%d", &n);
for(int i = 0; i < n; i++) {
fscanf(in, "%d", a + i);
}
long long result = trav(a, n);
fprintf(out, "%lld %d %d", result, istart + 1, ifinish + 1);
return 0;
}