Pagini recente » Cod sursa (job #2583563) | Cod sursa (job #1974728) | Cod sursa (job #1903459) | Cod sursa (job #870005) | Cod sursa (job #1538666)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
struct element
{
long long int value,index,lindex,sumamaxima;
};
int main()
{
int n,x;
in>>n;
long long int sume[n+1];
element v[n+1];
sume[0] = 0;
element e;
for(int i = 1 ; i <= n ; i++)
{
in>>v[i].value;
v[i].index = i;
v[i].lindex = i;
v[i].sumamaxima = v[i].value;
sume[i] = sume[i-1] + v[i].value;
}
e.index = 1;
e.sumamaxima = sume[1];
for(int i = 2 ; i <= n ; i++)
{
v[i].sumamaxima = sume[i]-e.sumamaxima;
v[i].lindex = e.index;
if( sume[i] < e.sumamaxima)
{
e.sumamaxima = sume[i];
e.index = i;
}
}
int psumeimaxime = 1;
int vsumeimaxime = v[1].value;
for(int i = 2 ; i <= n ; i++)
if (vsumeimaxime<v[i].sumamaxima)
{
vsumeimaxime = v[i].sumamaxima;
psumeimaxime = i;
}
out<<vsumeimaxime<<" "<<v[psumeimaxime].lindex+1<<" "<<psumeimaxime;
return 0;
}