Pagini recente » Borderou de evaluare (job #702982) | Cod sursa (job #584270) | Cod sursa (job #23959) | Cod sursa (job #1417402) | Cod sursa (job #640649)
Cod sursa(job #640649)
#include <iostream>
#include <stdio.h>
using namespace std;
const int nmax=3000003;
int s[nmax],best[nmax];
int main()
{
int i,n,min[nmax],x=0,xi;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
cin>>n;
for(i=1;i<=n;i++)cin>>s[i];
best[1]=s[1];
min[1]=1;
for(i=2;i<=n;i++){
if(best[i-1]+s[i]>s[i]){
best[i]=best[i-1]+s[i];
min[i] = min[i - 1];
}
else {best[i]=s[i];
min[i]=i;}}
for(i=1;i<=n;i++)if(best[i]>x){x=best[i];xi=i;}
cout<<best[xi]<<" "<<min[xi]<<" "<<xi;
return 0;
}