Pagini recente » Cod sursa (job #3252928) | Cod sursa (job #2925770) | Cod sursa (job #3159059) | Cod sursa (job #3149053) | Cod sursa (job #812405)
Cod sursa(job #812405)
#include<fstream>
#include<vector>
using namespace std;
int n,k;
int maxim;
vector <int> deq;
vector <int> poz;
ifstream in("secventa.in");
ofstream out("secventa.out");
void scan()
{
in>>n>>k;
}
void deque()
{
int i,a;
int st,dr,inc,sf;
st=0;
dr=0;
in>>a;
maxim=a;
deq.push_back(a);
poz.push_back(1);
for (i=2;i<=n;i++)
{
in>>a;
while (dr>=st && deq[dr]>a)
{
dr--;
}
dr++;
if (dr==deq.size())
{
deq.push_back(a);
poz.push_back(i);
}
else
{
deq[dr]=a;
poz[dr]=i;
}
if (i-poz[st]+1>=k)
{
if (maxim<=deq[st])
{
inc=poz[st];
sf=i;
maxim=deq[st];
}
st++;
}
}
out<<inc<<" "<<sf<<" "<<maxim<<"\n";
}
int main()
{
scan();
deque();
return 0;
}