Pagini recente » Cod sursa (job #609316) | Cod sursa (job #1082810) | Cod sursa (job #1019911) | Cod sursa (job #1949779) | Cod sursa (job #1486209)
#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 && (*tree.begin() > a[maxIndex] || maxIndex == -1))
maximum = *tree.begin(), maxIndex = lastIndex;
}
ofstream g("secventa.out");
g << maxIndex + 1 << " " << maxIndex + K << " " << maximum;
g.close();
return 0;
}