Pagini recente » Cod sursa (job #1696972) | Cod sursa (job #1577050) | Cod sursa (job #1470544) | Cod sursa (job #1085324) | Cod sursa (job #1448744)
//0014
#include <cstdio>
#include <deque>
using namespace std;
void f(deque<int> m, int& minim, int& poz) {
minim = 30001;
for (int i = 0; i < m.size(); i++) {
if (m[i] < minim) {
minim = m[i];
poz = i + 1;
}
}
}
int main() {
FILE* fi = fopen("secventa.in", "rt");
FILE* fo = fopen("secventa.out", "wt");
int va = -30001, vp;
deque<int> m;
int n, k;
fscanf(fi, "%d%d", &n, &k);
for (int i = 1; i <= k; i++) {
int el;
fscanf(fi, "%d", &el);
m.push_back(el);
}
int minim, poz;
f(m, minim, poz);
if (minim > va) {
va = minim;
vp = poz;
}
for (int i = k + 1; i <= n; i++) {
m.pop_front();
int el;
fscanf(fi, "%d", &el);
m.push_back(el);
poz--;
if (el <= minim) {
minim = el;
poz = k;
}
if (poz == 0) {
f(m, minim, poz);
if (minim > va) {
va = minim;
vp = poz + i - k;
}
}
}
fprintf(fo, "%d %d %d", vp, vp + k - 1, va);
return 0;
}