Pagini recente » Cod sursa (job #1895784) | Cod sursa (job #3136919) | Cod sursa (job #2106928) | Cod sursa (job #831064) | Cod sursa (job #2445314)
#include <iostream>
#include <cstdio>
#include <map>
#include <algorithm>
using namespace std;
const int NMAX = 500010;
map<int, int> m;
int v[NMAX];
int n, k;
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d", &n);
scanf("%d", &k);
int startpos = 0;
int maxmin = -3000000;
for(int i = 0; i < k - 1; ++i)
{
scanf("%d", &v[i]);
++m[v[i]];
}
for(int i = k - 1; i < n; ++i)
{
scanf("%d", &v[i]);
++m[v[i]];
int newmin = m.begin()->first;
if(newmin > maxmin)
{
maxmin = newmin;
startpos = i - k + 2;
}
if(m[v[i - k + 1]] == 1)
m.erase(v[i - k + 1]);
else
--m[v[i - k + 1]];
}
printf("%d %d %d", startpos, startpos + k - 1, maxmin);
return 0;
}