Pagini recente » Cod sursa (job #2437643) | Cod sursa (job #818871) | Cod sursa (job #2405721) | Cod sursa (job #3246504) | Cod sursa (job #2158451)
#include <fstream>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k;
int A[500010];
int B[500010];
int main()
{
fin>>n>>k;
for (int i=1;i<=n;i++)
fin>>A[i];
int pr=0,ul=0,maxi=0,in,sf;
for (int i=1;i<=n;i++)
{
if (B[pr]==i-k)
pr++;
while ((pr<=ul) && (A[B[ul]]>=A[i]))
ul--;
ul++;
B[ul]=i;
if ((maxi<A[B[pr]])&&(i>=k))
{
in=i-k+1;
sf=i;
maxi=A[B[pr]];
}
}
fout<<in<<' '<<sf<<' '<<maxi;
return 0;
}