Pagini recente » Cod sursa (job #787384) | Cod sursa (job #2120739) | Cod sursa (job #1236789) | Cod sursa (job #1578416) | Cod sursa (job #849762)
Cod sursa(job #849762)
#include <fstream>
#include <deque>
#include <climits>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,x,v[500005],maxim,nr;
deque <int> d;
int main()
{
int i;
//g<<"Am inceput\n";
f>>n>>k;
for(i=1;i<k;++i)
{
f>>x;
v[i]=x;
while(x>d.back() && !d.empty()) d.pop_back();
d.push_back(x);
}
//maxim=INT_MIN;
v[0]=v[1]+1;
for(;i<=n;++i)
{
f>>x;
if(v[i-k]==d.front()&&!d.empty()) d.pop_front();
v[i]=x;
while(x>d.back()&&!d.empty()) d.pop_back();
d.push_back(x);
if(d.front()>maxim)
{
maxim=d.front();
nr=i-k;
}
}
g<<nr<<' '<<nr+k<<' '<<maxim<<'\n';
f.close(); g.close();
return 0;
}