Pagini recente » Cod sursa (job #1129852) | Cod sursa (job #2038844) | Cod sursa (job #730731) | Cod sursa (job #2018954) | Cod sursa (job #1203791)
#include <fstream>
using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
long n,i,pivot(0),aux,max,sbest(-1<<19),suma(0),sol1,sol2,k,Dq[60013];
int main ()
{
cin>>n>>k;
for (i=1;i<=n;++i) {
cin>>Dq[i];
suma+=Dq[i];
++pivot;
if (Dq[i]>suma) suma=Dq[i] , pivot=0;
if (suma>sbest){
sbest=suma;
sol2=i;
sol1=i-pivot;
}
}
while (sol2-sol1+1<k){
if (sol1>1 && sol2<n){
if (Dq[sol1-1]<Dq[sol2+1]) sbest+=Dq[--sol1];
else sbest+=Dq[++sol2];
}
else
if (sol1>1 && sol2==n) sbest+=Dq[--sol1];
else
if (sol1==1 && sol2<n) sbest+=Dq[++sol2];
}
cout<<sol1<<" "<<sol2<<" "<<sbest;
return 0;
}