Pagini recente » Cod sursa (job #2644841) | Cod sursa (job #3126152) | Cod sursa (job #1973842) | Cod sursa (job #1647966) | Cod sursa (job #1898560)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
const int N=500005;
int D[N], In[N], mx=-300005, mxf, mxb, x, b, f, n, k;
int main()
{
fin>>n>>k;
b=1;
for(int i=1;i<=k;i++)
{
fin>>x;
while(D[f]>x&&f)
f--;
f++;
D[f]=x;
In[f]=i;
}
for(int i=k+1;i<=n;i++)
{
fin>>x;
while(i-In[b]>=k)
b++;
while(D[f]>x&&f>=b)
f--;
f++;
D[f]=x;
In[f]=i;
if(D[b]>mx)
{
mx=D[b];
mxb=i-k+1;
mxf=i;
}
}
fout<<mxb<<" "<<mxf<<" "<<mx;
return 0;
}