Pagini recente » Cod sursa (job #3286251) | Cod sursa (job #2593495) | Cod sursa (job #1856038) | Cod sursa (job #741122) | Cod sursa (job #1583720)
#include <stdio.h>
#include <stdlib.h>
#include <deque>
std::deque <int> val, poz;
using namespace std;
int main()
{
int n, k, nr, i, bmax, pozmax;
FILE *fi, *fo;
fi = fopen("secventa.in", "r");
fo = fopen("secventa.out", "w");
fscanf(fi, "%d%d", &n, &k);
bmax=-30000;
for(i=1; i<=n; i++) {
fscanf(fi, "%d", &nr);
if(val.empty()!=1 && i-poz.front()>=k) {
val.pop_front();
poz.pop_front();
}
while(val.empty()!=1 && nr<=val.back()) {
val.pop_back();
poz.pop_back();
}
val.push_back(nr);
poz.push_back(i);
if(i>=k)
if(bmax<val.front()) {
bmax=val.front();
pozmax=poz.front();
}
}
fprintf(fo, "%d %d %d", pozmax, pozmax+k-1, bmax);
fclose(fi);
fclose(fo);
return 0;
}