Pagini recente » Cod sursa (job #1292156) | Cod sursa (job #167214) | Cod sursa (job #943515) | Cod sursa (job #1704401) | Cod sursa (job #2799135)
#include <fstream>
#include <climits>
#include <vector>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include<bitset>
#include <map>
#include <cstring>
#include<algorithm>
using namespace std;
int n;
int sMax, stMax, drMax, sum;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
fin >> n;
int st = 1, dr = 1;
sMax = INT_MIN, drMax = 0, stMax = 0;
for (int i = 1; i <= n; i++)
{
int x;
fin >> x;
if (sum + x < x)
{
//schimb
st = i;
dr = i;
sum = x;
if (sum > sMax) {
stMax = st;
drMax = dr;
sMax = sum;
}
else if (sum == sMax && dr-st<drMax-stMax) {
stMax = st;
drMax = dr;
}
}
else {
sum += x;
dr = i;
if (sum > sMax) {
stMax = st;
drMax = dr;
sMax = sum;
}
else if (sum == sMax && dr - st < drMax - stMax) {
stMax = st;
drMax = dr;
}
}
}
fout << sMax << " " << stMax << " " << drMax;
return 0;
}