Pagini recente » Cod sursa (job #3180802) | Cod sursa (job #2978026) | Cod sursa (job #2232511) | Cod sursa (job #2205062) | Cod sursa (job #2491265)
#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=v[in];
}
}
fout << poz << " " << poz+k-1 << " " << maxx;
return 0;
}