Pagini recente » Cod sursa (job #1435406) | Cod sursa (job #377679) | Cod sursa (job #2803076) | Cod sursa (job #187792) | Cod sursa (job #1632071)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,k,pmax,mx=-100000,pmx1,mx1=-100000,d[50000],v[50000],i;
int main()
{
f>>n>>k;
for(i=0;i<n;i++) f>>v[i];
for(i=0;i<n;i++)
{
d[i]=max(d[i-1]+v[i],v[i]);
if(d[i]>mx) {mx=d[i];pmax=i;}
}
bool ok=1;
for(i=pmax;i>=0 && ok;i--)
if(d[i]-v[i]!=d[i-1]) ok=0;
if(pmax-i>=k)
g<<i+2<<' '<<pmax+1<<' '<<mx;
else
{
bool ok1=1;
while(ok1)
{
ok=1;
for(i=0;i<n;i++)
if(d[i]!=mx&&d[i]>mx1) {mx1=d[i];pmx1=i;}
for(i=pmx1;i>=0 && ok;i--)
if(d[i]-v[i]!=d[i-1]) ok=0;
if(pmax-i>=k) ok1=0;
else
{
mx=mx1;
mx1=-100000;
}
}
g<<i+2<<' '<<pmax+1<<' '<<mx;
}
}