Pagini recente » Cod sursa (job #2559647) | Cod sursa (job #553473) | Cod sursa (job #1939642) | Cod sursa (job #923284) | Cod sursa (job #2163813)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int i,x,y,v[500002],semn,j,p,u,maxi,n,m;
deque <int> q;
char s[500002];
int main()
{
fin>>n>>m;
fin.get();
fin.get(s,500002);
j=0;
for(i=1; i<=n; i++) {
semn=1;
if(s[j]=='-') {
semn=-1;
j++;
}
while(s[j]>='0' && s[j]<='9') {
v[i]=v[i]*10+s[j]-'0';
j++;
}
v[i]*=semn;
j++;
}
for(i=1;i<=n;i++)
{
cout<<v[i];
}
for(i=1;i<=n;++i)
{
while(!q.empty() && v[q.back()]>v[i])
{
q.pop_back();
}
q.push_back(i);
while(q.front()==i-m)
{
q.pop_front();
}
if(maxi<v[q.front()] && i>=m)
{
maxi=v[q.front()];
u=i;
p=i-m+1;
}
}
fout<<p<<" "<<u<<" "<<maxi<<'\n';
return 0;
}