Pagini recente » Cod sursa (job #937801) | Cod sursa (job #1045926) | Cod sursa (job #356243) | Cod sursa (job #2266701) | Cod sursa (job #770207)
Cod sursa(job #770207)
#include<stdio.h>
#define MAXN 500002
int A[ MAXN ][2], n, k, x, y, res = -MAXN;
void solve()
{
FILE *f = fopen("secventa.in", "r");
int i, st = 1, end = 0, val;
fscanf(f, "%d %d", &n, &k);
for(i = 1; i <= n; i++)
{
fscanf(f, "%d", &val);
while(val <= A[end][1] && st <= end)
end--;
end++, A[end][0] = i, A[end][1] = val;
if(i - k == A[st][0])
st++;
if(i >= k)
if(A[st][1] > res)
res = A[st][1], x = i - k + 1, y = i;
}
fclose(f);
}
void write()
{
FILE *g = fopen("secventa.out", "w");
fprintf(g, "%d %d %d\n", x, y, res);
fclose(g);
}
int main()
{
solve();
write();
return 0;
}