Pagini recente » Cod sursa (job #738405) | Cod sursa (job #2066527) | Cod sursa (job #2810555) | Cod sursa (job #2095272) | Cod sursa (job #904114)
Cod sursa(job #904114)
#include<deque>
#include<fstream>
using namespace std;
char s[3500005];
int main()
{
ifstream cin("secventa.in");ofstream cout("secventa.out");
deque<int>d;int n,k,i,bmax=-2e9,in,v[500005],j=0,a;bool l;
cin>>n>>k;
cin.get();
cin.get(s,3500005);
for(i=1;i<=n;++i)
{
l=a=0;
if(s[j]=='-')
l=1,++j;
for(;s[j]!=' ';++j)
a*=10,a+=s[j]-'0';
++j,v[i]=l?-a:a;
while(!d.empty()&&v[i]<=v[d.back()])
d.pop_back();
d.push_back(i);
if(i-k==d.front())
d.pop_front();
if(i>=k&&v[d.front()]>bmax)
bmax=v[d.front()],in=i;
}
cout<<in-k+1<<' '<<in<<' '<<bmax;
}