Pagini recente » Cod sursa (job #2519208) | Cod sursa (job #2432447) | Cod sursa (job #175165) | Cod sursa (job #3238708) | Cod sursa (job #575077)
Cod sursa(job #575077)
#include <fstream.h>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque <int> dq;
int v[500001],i,n,k,ls,ld,lsf,ldf,m=-100000;
int main() {
fin>>n>>k;
for (i=1;i<=n;i++)
{
fin>>v[i];
if (dq[0]==i-k)
{
//ls=0;
dq.pop_front();
}
while (!dq.empty() && v[dq.back()]>v[i])
dq.pop_back();
dq.push_back(i);
if (i>=k)
{
//if (!ls)
ls=dq.back()-k+1;
ld=dq.back();
if ( m < v[dq.front()] )
{
m=v[dq.front()]; lsf=ls; ldf=ld;
}
}
}
fout<<lsf<<" "<<ldf<<" "<<m;
return 0;
}