Pagini recente » Cod sursa (job #242717) | Cod sursa (job #2914977) | Cod sursa (job #2419828) | Cod sursa (job #1023018) | Cod sursa (job #1955863)
#include <fstream>
using namespace std;
int first=1, last=1, dr=1, st=1, v[500005], d[500005], y, n, k, bmax, i, start;
ifstream f("secventa.in");
ofstream g("secventa.out");
void add(int x)
{
v[++last]=x;
while(d[dr]>x) dr--;
d[++dr]=x;
}
void del()
{
int x;
x=v[first];
first++;
if(d[st]==x) st++;
}
int main()
{
f>>n>>k;
f>>y;
v[1]=d[1]=y;
for(i=2;i<=k;++i)
{
f>>y;
add(y);
}
bmax=d[st], start=1;
for(i=k+1;i<=n;++i)
{
del();
f>>y;
add(y);
if(d[st]>bmax) bmax=d[st], start=i-k+1;
}
g<<start<<" "<<start+k-1<<" "<<bmax<<"\n";
return 0;
}