Pagini recente » Cod sursa (job #2617066) | Cod sursa (job #2977837) | Cod sursa (job #1811209) | Cod sursa (job #1425917) | Cod sursa (job #1486481)
#include <fstream>
#include <queue>
#include <utility>
using namespace std;
int main()
{
int N, K, i, a;
pair<int, int> maximum = make_pair(-30001, -1);
deque< pair<int, int> > dq;
ifstream f("secventa.in");
f >> N >> K;
for (i = 1; i <= N; i++)
{
f >> a;
while (!dq.empty() && dq.back().first > a)
dq.pop_back();
dq.push_back(make_pair(a, i));
if (i - dq.front().second >= K)
dq.pop_front();
if (maximum.first < dq.front().first)
maximum = dq.front();
}
ofstream g("secventa.out");
g << maximum.second << " " << maximum.second + K - 1 << " " << maximum.first;
g.close();
return 0;
}