Pagini recente » Cod sursa (job #825716) | Cod sursa (job #2588035) | Cod sursa (job #2750734) | Cod sursa (job #2288653) | Cod sursa (job #2316719)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,c1,c2,length,ans,best,v[50005],i,l,R,L;
int main()
{
f>>n>>c1>>c2;
for(i=1; i<=n; i++)f>>v[i];
best=ans=v[1];
l=1;
for(i=2; i<=n; ++i)
{
if(best>=0)best+=v[i];
else l=i, best=v[i];
if(best>ans)
{
ans=best;
L=l;
R=i;
}
}
length=R-L+1;
if(length>=c1 && length<=c2)g<<length<<" "<<L<<" "<<R<<'\n';
else if(length<c1)
{
while(length<c1)
{
if(v[R]>v[L])R++,length++;
if(v[R]<v[L])L--,length++;
}
g<<length<<" "<<L<<" "<<R<<'\n';
}
else if(length>c2)
{
while(length>c2)
{
if(v[R]>v[L])L++,length--;
if(v[R]<v[L])R--,length--;
}
g<<length<<" "<<L<<" "<<R<<'\n';
}
return 0;
}