Pagini recente » Cod sursa (job #3163439) | Cod sursa (job #350510) | Cod sursa (job #430572) | Cod sursa (job #1736905) | Cod sursa (job #2535416)
#include <iostream>
#include <fstream>
#define nmax 30005
using namespace std;
int sum[nmax], n, v[nmax];
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int i, j;
fin>>n;
for(i = 1; i<=n; i++)
fin>>v[i];
int maxi = v[1], inf = 1, sup = 1;
sum[1] = v[1];
for(i = 2; i<=n; i++)
{
sum[i] = sum[i-1] + v[i];
if(maxi<sum[i])
maxi = sum[i];
}//aici creez sumele partiale si vad secventa de suma maxima care incepe cu 1
for(i = 1; i<n; i++)// secventa de suma maxima care incepe cu i+1
{
for(j = i+1; j<=n; j++) //si se termina cu j
{
if(maxi< sum[j] - sum[i])
{
maxi = sum[j] - sum[i];
inf = i+1;
sup = j;
}
}
}
fout<<maxi<<" "<<inf<<" "<<sup;
return 0;
}