Pagini recente » Cod sursa (job #3157144) | Cod sursa (job #1296160) | Cod sursa (job #495730) | Cod sursa (job #2947997) | Cod sursa (job #3201896)
#include <bits/stdc++.h>
using namespace std;
#define TITLE "ssm"
ifstream f (TITLE".in");
ofstream g (TITLE".out");
#define INFINITE -(2^32+1)
int main()
{
int n;
f>>n;
vector<pair<int,int>> v;
int a;
f>>a;
v.push_back(make_pair(1,a));
long long int maxim=INFINITE,stanga,dreapta;
for(int i=1; i<n; i++)
{
f>>a;
if(a>=v[i-1].second+a)
v.push_back(make_pair(i+1,a));
else
{
if(v[i-1].second+a==0)
v.push_back(make_pair(i+1,0));
else
v.push_back(make_pair(v[i-1].first,v[i-1].second+a));
}
if(v[i].second>maxim)
{
maxim=v[i].second;
stanga=v[i].first;
dreapta=i+1;
}
else if(v[i].second==maxim)
{
if(v[i].first<stanga)
{
stanga=v[i].first;
dreapta=i+1;
}
}
}
g<<maxim<<' '<<stanga<<' '<<dreapta;
return 0;
}