Pagini recente » Cod sursa (job #1875768) | Cod sursa (job #1585657) | Cod sursa (job #2082887) | Cod sursa (job #124112) | Cod sursa (job #1199880)
#include <fstream>
using namespace std;
int N, a[6000010],best[6000010];
int main(){
ifstream in("ssm.in");
ofstream out("ssm.out");
in >> N;
int i, MAX=-(1<<30),x,y;
for (i=1; i<=N; i++) in >> a[i];
for (i=1; i<=N; i++) { best[i]=max(a[i],a[i]+best[i-1]); if (best[i]>MAX) MAX=best[i]; }
for (i=1; i<=N; i++) if (best[i]==MAX) { x = y = i; while (best[x]==best[x-1] + a[x]) x--; }
out << MAX << " " << x << " " << y;
}