Pagini recente » Cod sursa (job #2176698) | Cod sursa (job #1651732) | Cod sursa (job #1535759) | Cod sursa (job #2728110) | Cod sursa (job #1181168)
#include <fstream>
#include <deque>
using namespace std;
deque <int> deck;
deque <int> ::iterator it;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int main()
{
int n,k,i,x=0,y,sol;
fin>>n>>k;int v[n];
y=k;
for(i=1;i<=n;i++)
{
fin>>v[i];
if(i<=k)
{
while(!deck.empty()&&v[i]<=v[deck.back()]) deck.pop_back();
deck.push_back(i);
if(i==k)
{
sol=v[deck.front()];
x=1;y=k;
}
}
else
{
while(!deck.empty()&& deck.front()<=i-k) deck.pop_front();
while(!deck.empty()&& v[deck.back()]>v[i]) deck.pop_back();
deck.push_back(i);
if(v[deck.front()]>sol) sol=v[deck.front()],x=deck.front(),y=i;
}
}
fout<<x<<" "<<y<<" "<<sol;
}