Pagini recente » Cod sursa (job #589219) | Cod sursa (job #2871224) | Cod sursa (job #924467) | Cod sursa (job #1166213) | Cod sursa (job #2909776)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque <int> dq;
int v[500001];
int main()
{
int n,k,i,mx,is;
fin >> n >> k;
mx=-100000;
for (i=1; i<=n; i++)
{
fin >> v[i];
while (dq.size() && v[i]<=v[dq.back()])
dq.pop_back();
if (dq.front()<=i-k && dq.size())
dq.pop_front();
dq.push_back(i);
if (i>=k)
{
if (v[dq.front()]>mx)
{
mx=v[dq.front()];
is=i;
}
}
for(int i=0;i<dq.size();i++)
cout<<dq[i]<<" ";
cout<<"\n";
}
fout << is-k+1 << " " << is << " " << mx;
}