Pagini recente » Cod sursa (job #1576070) | Cod sursa (job #361418) | Cod sursa (job #114298) | Cod sursa (job #1272800) | Cod sursa (job #2446566)
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <vector>
#include <queue>
#define NRMIN -30001
#define NRMAX 30001
#define NMAX 500002
using namespace std;
int v[NMAX];
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
int n, k;
scanf("%d", &n);
scanf("%d", &k);
for (int i = 1; i <= n; ++i)
{
scanf("%d", &v[i]);
}
int minimum = NRMAX;
int posLastMin = 0;
for (int i = 1; i <= k; ++i)
{
if (v[i] < minimum)
{
minimum = v[i];
posLastMin = i;
}
}
int sol = minimum;
int solPos = 1;
int roi = posLastMin + 1;
minimum = v[roi];
for (int i = posLastMin + 1; i <= n; ++i)
{
if (v[i] < sol)
{
roi = i + 1;
minimum = v[i + 1];
continue;
}
if (v[i] < minimum)
minimum = v[i];
if (i - roi == k - 1)
{
sol = minimum;
solPos = roi;
++roi;
}
}
printf("%d %d %d", solPos, solPos + k - 1, sol);
return 0;
}