Pagini recente » Cod sursa (job #400648) | Cod sursa (job #2033604) | Cod sursa (job #2744873) | Cod sursa (job #115156) | Cod sursa (job #1222112)
//horatiu11
# include <deque>
# include <fstream>
# include <cstring>
# define nmax 500001
# define lmax 5000001
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,a[nmax],pm,pM,M=-30001,semn,j;
char s[lmax];
deque <int>d;
int main()
{
f>>n>>k;f.get();
f.getline(s,lmax);s[strlen(s)]='\n';
for(int i=1;i<=n;++i)
{
a[i]=0;semn=1;
if(s[j]=='-') semn=-1,j++;
while(s[j]!=' ' && s[j]!='\n') a[i]=a[i]*10+s[j]-'0',j++;
j++;
a[i]*=semn;
while(!d.empty() && a[d.back()]>=a[i])
d.pop_back();
d.push_back(i);
if(d.front()==i-k)
d.pop_front();
if(i>=k && !d.empty() && M<a[d.front()])
{
M=a[d.front()];
pm=i-k+1;
pM=i;
}
}
g<<pm<<' '<<pM<<' '<<M<<'\n';
return 0;
}