Pagini recente » Cod sursa (job #965143) | Cod sursa (job #150164) | Cod sursa (job #2599781) | Cod sursa (job #2350606) | Cod sursa (job #3307829)
#include <fstream>
#include <vector>
#include <algorithm>
std::ifstream in("secventa.in");
std::ofstream out("secventa.out");
std::vector<int> w;
int main()
{
int n, k;
in >> n >> k;
w.resize(n);
for(int i = 0; i < n; i++)
{
in >> w[i];
}
int maxBase = -30001;
int bestStart = 0, bestEnd = 0;
for(int start = 0; start <= n - k; start++)
{
for(int end = start + k - 1; end < n; end++)
{
int currentBase = w[start];
for(int i = start + 1; i <= end; i++)
{
currentBase = std::min(currentBase, w[i]);
}
if(currentBase > maxBase ||
(currentBase == maxBase && start < bestStart) ||
(currentBase == maxBase && start == bestStart && end < bestEnd))
{
maxBase = currentBase;
bestStart = start + 1;
bestEnd = end + 1;
}
}
}
out << bestStart << " " << bestEnd << " " << maxBase;
}