Pagini recente » Cod sursa (job #1502605) | Cod sursa (job #3317160) | Cod sursa (job #2242097) | Cod sursa (job #1582772) | Cod sursa (job #3303023)
#include <fstream>
#include <vector>
#include <climits>
using namespace std;
ifstream be("ssm.in");
ofstream ki("ssm.out");
void f(int n, const vector<int> &s)
{
int jelenlegi, elozo, best = INT_MIN;;
jelenlegi = s[0];
int kezdo_j = 0, veg_j = 0;
int kezdo_e, veg_e;
int best_k, best_v;
for(int i = 1; i < n; i++)
{
elozo = jelenlegi;
kezdo_e = kezdo_j;
veg_e = veg_j;
jelenlegi = max(s[i], s[i] + elozo);
if(jelenlegi == s[i])
{
kezdo_j = i;
}else
{
kezdo_j = kezdo_e;
}
veg_j = i;
best = max(jelenlegi, best);
if(best == jelenlegi)
{
best_k = kezdo_j;
best_v = veg_j;
}
}
ki << best << " " << best_k + 1 << " " << best_v + 1;
}
int main()
{
int n;
be >> n;
vector<int> s(n);
for(int i = 0; i < n; i++)
{
be >> s[i];
}
vector<int> best(n);
f(n, s);
return 0;
}