Pagini recente » Cod sursa (job #1159119) | Cod sursa (job #2138157) | Cod sursa (job #1262103) | Cod sursa (job #520416) | Cod sursa (job #2491270)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int v[500005], m[500005];
int main()
{
int n, k, i, a, st, dr, mij, in=1, sf=1, maxx=0, poz;
fin >> n >> k;
fin >> m[1];
v[1]=1;
for(i=2; i<=n; i++)
{
fin >> m[i];
a=m[i];
st=in;
dr=sf;
while(st<=dr)
{
mij=(st+dr)/2;
if(m[v[mij]]>a) dr=mij-1;
else st=mij+1;
}
v[st]=i;
sf=st;
if(v[in]<=i-k) in++;
if(i>=k && m[v[in]]>maxx)
{
maxx=m[v[in]];
poz=i;
}
}
fout << poz-k+1 << " " << poz << " " << maxx;
return 0;
}