Pagini recente » Cod sursa (job #2540058) | Cod sursa (job #1469861) | Cod sursa (job #782810) | Cod sursa (job #1525498) | Cod sursa (job #876917)
Cod sursa(job #876917)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out")
int main()
{
int n,k,st[500000],x,i,maxim,poz[100],pr,ul;
fin>>n>>k>>x;
st[1]=x;
poz[1]=1;
pr=ul=1;
for(i=2;i<=k;i++)
{
fin>>x;
while(pr<=ul && st[ul]>x)
ul--;
ul++;
st[ul]=x;
poz[ul]=i;
}
maxim=st[pr];
for(i=k+1;i<=n;i++)
{
fin>>x;
while(pr<=ul && st[ul]>x)
ul--;
ul++;
st[ul]=x;
poz[ul]=i;
if(i-poz[pr]>=k)
pr++;
if(maxim<st[pr])
maxim=st[pr];
}
fout<<poz[pr]<<" "<<poz[ul]<<" "<<maxim;
return 0;
}