Pagini recente » Cod sursa (job #710276) | Monitorul de evaluare | Cod sursa (job #244091) | Cod sursa (job #1015986) | Cod sursa (job #770153)
Cod sursa(job #770153)
#include<stdio.h>
#define MAXN 500002
int A[ MAXN ], v[ MAXN ], 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);
v[i] = val;
while(val <= v[ A[st] ] && st <= end)
end--;
end++, A[end] = i;
if(i - k == A[st])
st++;
if(i >= k)
if(v [ A[st] ] > res)
res = v[ A[st] ], 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;
}