Pagini recente » Cod sursa (job #2611893) | Cod sursa (job #1947817) | Cod sursa (job #1456126) | Cod sursa (job #2131178) | Cod sursa (job #1861783)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
struct elem { int val, pos; }x;
deque<elem> v;
long long n, k, i, l, s, cst, cdr, cstm, cdrm,m;
int main()
{
fin >> n >> k;
for (i = 1;i <= k;i++)
{
fin >> x.val;
x.pos = i;
while (!v.empty() && v.back().val > x.val)
v.pop_back();
v.push_back(x);
}
cst = 1;cdr = k;m = v.front().val;cstm = 1;cdrm = k;
for (i = k + 1;i <= n;i++) {
cst++;
cdr++;
fin >> x.val;
x.pos = i;
if (v.front().pos < cst)
v.pop_front();
while (!v.empty() && v.back().val > x.val)
v.pop_back();
v.push_back(x);
if (v.front().val > m)
{
cstm = cst;
cdrm = cdr;
m = v.front().val;
}
}
fout << cstm << ' ' << cdrm << ' ' << m;
}