Pagini recente » Cod sursa (job #294561) | Cod sursa (job #1725815) | Cod sursa (job #371732) | Cod sursa (job #2553062) | Cod sursa (job #634992)
Cod sursa(job #634992)
#include <stdio.h>
#include <fstream>
using namespace std;
int main()
{
int i,x,n;
int best_sum,actual_sum,best_start=0,best_finish=0,actual_start=0;
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
f>>x;
actual_sum = x;
best_sum = x;
for (i=1;i<n;i++)
{
f>>x;
if (actual_sum >= 0)//have a better sum
actual_sum+=x;
else//reset the sum
actual_sum = x, actual_start = i;
if (actual_sum > best_sum)
{
best_sum = actual_sum;
best_start = actual_start;
best_finish = i;
}
}
//printf("%d %d %d\n",best_sum,best_start+1,best_finish+1);
g<<best_sum<<" "<<best_start+1<<" "<<best_finish+1<<"\n";
return 0;
}