Pagini recente » Cod sursa (job #1760277) | Cod sursa (job #1142024) | Cod sursa (job #1554912) | Cod sursa (job #2054845) | Cod sursa (job #2758846)
#include <fstream>
#include <vector>
#include <algorithm>
#include <cstdlib>
using namespace std;
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int N;
cin >> N;
int smin = INT32_MAX, smax = INT32_MIN, x, sum = 0, left, right, pmin;
for(int i = 1;i <= N; ++i){
cin >> x;
sum += x;
if(sum < smin){
smin = sum;
pmin = i;
}
if(x > smax){
smax = x;
left = right = i;
}
else if(x == smax && right - left + 1 > 1){
right = left = i;
}
if(sum - smin > smax){
smax = sum - smin;
right = i;
left = pmin + 1;
}
else if(sum - smin == smax && right - left + 1 > i - pmin){
right = i;
left = pmin + 1;
}
}
cout << smax << " " << left << " " << right;
cin.close();
cout.close();
return 0;
}