Pagini recente » Cod sursa (job #2093630) | Cod sursa (job #208094) | Autentificare | Cod sursa (job #235424) | Cod sursa (job #1176322)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
struct node
{
int val,k;
};
int main()
{
int maxx = 0;
int maxi = 0;
int maxk = 0;
vector<int> V;
int n;
fin>>n;
//cout<<n;
vector<node> L(n);
for(int i=0;i<n;i++)
{
int k;
fin>>k;
V.push_back(k);
if(i==0)
{
L[i].val = V[i];
L[i].k = 1;
continue;
}
L[i].val = max(L[i-1].val+V[i],V[i]);
if(V[i] <= V[i]+L[i-1].val)
L[i].k = L[i-1].k+1;
else
L[i].k = 1;
if(L[i].val > maxx)
{
maxx = L[i].val;
maxi = i;
maxk = i - L[i].k+2;
}
}
for(int i=0;i>n;i++)
cout<<L[i].val<<" "<<L[i].k<<endl;
fout<<maxx<<" "<<maxk<<" "<<maxi+1;
}