Pagini recente » Cod sursa (job #2826186) | Cod sursa (job #1690785) | Cod sursa (job #3257389) | Cod sursa (job #1709332) | Cod sursa (job #1538528)
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>
#define inf (1<<30)
using namespace std;
deque<int> deq;
vector<int> v;
int n, k, x, y, p, mx=-inf;
void ins(int x)
{
if (!deq.empty() && deq.front() < x-k+1)
{
deq.pop_front();
}
while(!deq.empty() && v[deq.back()] >= v[x])
{
deq.pop_back();
}
deq.push_back(x);
return;
}
int main()
{
ifstream f("secventa.in");
ofstream g("secventa.out");
f >> n >> k;
v.resize(n+1);
for(int i=1; i<k; i++)
{
f >> v[i];
ins(i);
}
for(int i=k; i<=n; i++)
{
f >> v[i];
ins(i);
if (v[deq.front()] > mx)
{
mx = v[deq.front()];
p = i;
}
}
g << p-k+1 << " " << p << " " << mx;
f.close();
g.close();
return 0;
}