Pagini recente » Cod sursa (job #1304325) | Cod sursa (job #362766) | Cod sursa (job #2007699) | Cod sursa (job #1944969) | Cod sursa (job #1530184)
#include<iostream>
#include<fstream>
#include<deque>
using namespace std;
ifstream si("secventa.in");
ofstream so("secventa.out");
/*#include<cstdio>
FILE* si=fopen("aranjamente.in","r");
FILE* so=fopen("aranjamente.out","w");
//*/
deque<int> v;
deque<int> p;
void adaug(int el,int poz)
{
while(!v.empty()&&v.back()>=el)
{
v.pop_back();
p.pop_back();
}
v.push_back(el);
p.push_back(poz);
return;
}
int main()
{
int n,k;
si>>n>>k;
int i,a;
for(i=0;i<k;++i)
{
si>>a;
adaug(a,i);
}
int maxx=v.front(),poz=0;
for(i=k;i<n;++i)
{
si>>a;
adaug(a,i);
if(p.front()<=i-k)
{
p.pop_front();
v.pop_front();
}
if(maxx<v.front())
{
maxx=v.front();
poz=i-k+1;
}
}
so<<poz+1<<' '<<poz+k<<' '<<maxx<<'\n';
}