Pagini recente » Cod sursa (job #825176) | Cod sursa (job #1085730) | Cod sursa (job #1197951) | Cod sursa (job #1202433) | Cod sursa (job #1486215)
#include <fstream>
#include <iostream>
#include <set>
using namespace std;
int main()
{
int N, K, i, maximum;
multiset<int> tree;
ifstream f("secventa.in");
f >> N >> K;
int a[N], lastIndex = 0, maxIndex = -1;
for (i = 0; i < N; i++)
f >> a[i];
f.close();
for (i = 0; i < N; i++)
{
tree.insert(a[i]);
if (tree.size() > K)
tree.erase(a[lastIndex++]);
if (tree.size() == K && ( maxIndex == -1 || *tree.begin() > maximum))
maximum = *tree.begin(), maxIndex = lastIndex;
}
ofstream g("secventa.out");
g << maxIndex + 1 << " " << maxIndex + K << " " << maximum;
g.close();
return 0;
}