Pagini recente » Borderou de evaluare (job #557639) | Borderou de evaluare (job #680934) | Borderou de evaluare (job #705909) | Borderou de evaluare (job #417080) | Cod sursa (job #2191403)
#include <fstream>
using namespace std;
ifstream cin("tort.in");
ofstream cout("tort.out");
int main()
{
int n,k;
cin>>n>>k;
int vec[n];
for(int i=0; i<n; i++)
cin>>vec[i];
int sum=0,first=0,last=k-1,mij,maxx=0;
int rf,rl;
for(int i=first; i<=last; i++)
sum+=vec[i];
for(int i=last+1; i<n; i++)
{
if(sum<1)
{
first++;
last=first+k-1;
sum=0;
for(int i=first; i<=last; i++)
sum=sum+vec[i];
}
else
{
if(sum>=maxx)
{
maxx=sum;
rf=first;
rl=last;
}
mij=sum/2;
if(mij<sum+vec[i])
{
last++;
sum=sum+vec[i];
}
else
{
sum=0;
first++;
last=first+k-1;
for(int i=first; i<=last; i++)
sum=sum+vec[i];
}
}
///cout<<sum<<" "<<first<<" "<<last<<"!\n";
}
cout<<rf+1<<" "<<rl+1<<" "<<maxx;
return 0;
}