Pagini recente » Cod sursa (job #2326842) | Cod sursa (job #2335280) | Cod sursa (job #14987) | Cod sursa (job #1071257) | Cod sursa (job #1205032)
#include <fstream>
#include <iostream>
#include <deque>
#define MX 500001
//#define maxim(a,b) ((a>b) ? a : b)
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k;
struct poz
{
int i,j,d;
};
deque<poz> v;
poz m = {0, 0, 0};
void afisare()
{
deque<poz>::iterator it;
for(it=v.begin(); it!=v.end(); it++)
{
cout<<it->d<<' ';
}
cout<<'\n';
}
int main()
{
int i,a;
poz e,u;
fin>>n>>k;
for(i=1; i<=n; i++)
{
fin>>a;
while(!v.empty() && v.back().d > a)
{
v.pop_back();
}
if(i-k < 0) //nu am citit primele k numere
{
e.i = 1;
e.j = k;
e.d = a;
}
else
{
e.i = i-k+1;
e.j = i;
e.d = a;
}
v.push_back(e);
//afisare();
if(i == v.front().i+k)
{
u = v.front();
//cout<<u.d<<' ';
v.pop_front();
if(u.d > m.d) m=u;
}
}
fout<<m.i<<' '<<m.j<<' '<<m.d;
fin.close(); fout.close();
return 0;
}