Pagini recente » Cod sursa (job #3132302) | Cod sursa (job #2446813) | Cod sursa (job #2033678) | Cod sursa (job #1559419) | Cod sursa (job #525810)
Cod sursa(job #525810)
#include <fstream>
#include <climits>
using namespace std;
typedef struct holder {
int sum;
int start;
int end;
};
int main(void)
{
int N, i;
holder prevBest, currBest, bestAll;
prevBest.sum = INT_MIN;
bestAll = prevBest;
ifstream f("ssm.in");
f>>N;
for (i=0;i<N;i++)
{
f>>currBest.sum;
currBest.start = currBest.end = i;
if (prevBest.sum >= 0)
{
currBest.sum += prevBest.sum;
currBest.start = prevBest.start;
}
if (currBest.sum > bestAll.sum)
{
bestAll = currBest;
}
prevBest = currBest;
}
f.close();
ofstream g("ssm.out");
g << bestAll.sum<<" "<<bestAll.start+1<<" "<<bestAll.end+1<<"\n";
g.close();
return 0;
}