Pagini recente » Borderou de evaluare (job #3211522) | Borderou de evaluare (job #430433) | Borderou de evaluare (job #1213) | Borderou de evaluare (job #1352526) | Cod sursa (job #1631203)
#include <fstream>
#include <vector>
#include <algorithm>
#include <stack>
#include <bitset>
#define INF 0x3f3f3f3f
#define q g[nod][g[nod].size() - 1]
using namespace std;
ifstream is("ssm.in");
ofstream os("ssm.out");
using VI = vector<int>;
using VVI = vector<VI>;
using VP = vector<pair<int, int>>;
using VPP = vector<pair<int, pair<int, int>>>;
int n, a;
VI s, b;
int answ = -INF, st, dr;
int main()
{
is >> n;
s = b = VI(n + 1);
for ( int i = 1; i <= n; ++i )
{
is >> a;
s[i] = a;
if ( s[i - 1] < 0 || i == 1 )
b[i] = i;
else
{
s[i] += s[i - 1];
b[i] = b[i - 1];
}
if ( s[i] > answ )
{
answ = s[i];
st = b[i];
dr = i;
}
}
os << answ << " " << st << " " << dr;
is.close();
os.close();
return 0;
}