Pagini recente » Cod sursa (job #432695) | Cod sursa (job #1075867) | Cod sursa (job #1598742) | Cod sursa (job #144350) | Cod sursa (job #799534)
Cod sursa(job #799534)
# include <fstream>
# define nmax 500005
# define mmax 30005
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n, k;
int deque[nmax];
int a[nmax];
int p, q, poz;
int pmax, pmin;
int main() {
int i, d;
fin >> n >> k;
for(i = 1; i <= n; ++ i) fin >> a[i];
p = 1; q = 0;
for(i = 1; i <= n; ++ i)
{
while(p <= q && a[i] < a[deque[q]]) -- q;
deque[++q] = i;
if(a[deque[q]] > pmax && deque[q]+k-1 <= n) {
pmax = a[deque[q]];
poz = deque[q];
}
if(deque[p] == i-k) ++p;
}
pmin = mmax;
fout << poz << " " << poz+k-1 << " " << pmax << "\n";
return 0;
}