Pagini recente » Cod sursa (job #1639103) | Cod sursa (job #2535235) | Cod sursa (job #583693) | Cod sursa (job #2145099) | Cod sursa (job #1650594)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int NMAX = 1600010;
int *a;
int sum;
int best,best_left,best_right;
int n;
int main()
{
a = new int[NMAX+1];
int left,right;
in>>n;
in>>a[1];
sum = a[1];
best = sum;
left = 1;
right = 1;
best_left = 1;
best_right = 1;
for(int i=2;i<=n;i++)
{
in>>a[i];
if(sum + a[i] < a[i])
{
if(best < sum)
{
best = sum;
best_left = left;
best_right = right;
}
sum = a[i];
left = i;
right = i;
}
else
{
sum+=a[i];
right++;
}
if(best < sum)
{
best = sum;
best_left = left;
best_right = right;
}
}
in.close();
out<<best<<" "<<best_left<<" "<<best_right<<"\n";
out.close();
delete[] a;
return 0;
}