Pagini recente » Cod sursa (job #2545879) | Cod sursa (job #489350) | Cod sursa (job #1279217) | Cod sursa (job #2574244) | Cod sursa (job #464544)
Cod sursa(job #464544)
#include<fstream>
#include<deque>
using namespace std;
ifstream f("secventa.in") ; ofstream g("secventa.out");
struct numere
{ int val,begin,end;
}v[500001],max1;
int i,n,k,b,e;
deque<numere>vmin;
int main()
{ f>>n>>k;
max1.val=-31000;
for(i=1;i<=n;i++)
f>>v[i].val , v[i].begin=i;
for(i=1;i<=n;i++)
{ while(!vmin.empty() && vmin.back().val>v[i].val )
vmin.pop_back();
vmin.push_back(v[i]);
if(k <= vmin.front().begin && max1.val<vmin.front().val)
{ max1=vmin.front();
b=i-k+1 , e=i;
}
if(i-k+1>=vmin.front().begin)
vmin.pop_front();
}
g<<b<<" "<<e<<" "<<max1.val;
f.close();
g.close();
return 0;
}