Pagini recente » Cod sursa (job #1132396) | Cod sursa (job #1099052) | Cod sursa (job #2126074) | Cod sursa (job #2613508) | Cod sursa (job #1218197)
// sume partiale
#include<fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
const int Infinity = 1<<31;
int n,x,i,best=-Infinity, beg, inceput, sfarsit, sum, smin;
int main()
{
cin>>n;
cin>>sum; smin=sum;
for (i=2;i<=n;i++)
{
cin>>x;
sum+=x;
if ( (sum-smin>best) || (sum-smin==best && beg<inceput) || (sum-smin==best && beg==inceput && i<sfarsit) )
best=sum-smin, inceput=beg, sfarsit=i;
if (sum<smin)
smin=sum,
beg=i;
}
cout<<best<<" "<<inceput+1<<" "<<sfarsit;
return 0;
}