Pagini recente » Cod sursa (job #3366664) | Cod sursa (job #3365743) | Cod sursa (job #3366010) | Statistici Musat Alexandru Nicolae (alexm749) | Cod sursa (job #3365834)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int main()
{
int n,k;
fin >> n >> k;
int v[100005];
for(int i=1;i<=n;i++)
fin >> v[i];
int stanga[100005],dreapta[100005];
for(int i=1;i<=n;i++)
{
if(i%k==1)
stanga[i]=v[i];
else
stanga[i]=min(stanga[i-1],v[i]);
}
for(int i=n;i>=1;i--)
{
if(i==n || i%k==0)
dreapta[i]=v[i];
else
dreapta[i]=min(dreapta[i+1],v[i]);
}
int max_dif=INT_MIN,best_st=1,best_dr=k;
for(int i=1;i<=n-k+1;i++)
{
int j=i+k-1;
int minim=min(dreapta[i],stanga[j]);
if(minim>max_dif)
{
max_dif=minim;
best_st=i;
best_dr=j;
}
}
fout << best_st << " " << best_dr << " " << max_dif << "\n";
return 0;
}