Pagini recente » Cod sursa (job #2155335) | Cod sursa (job #2181102) | Cod sursa (job #983290) | Cod sursa (job #962180) | Cod sursa (job #770165)
Cod sursa(job #770165)
#include<stdio.h>
#include<fstream.h>
#define MAXN 500002
int A[ MAXN ], v[ MAXN ], n, k, x, y, res = -MAXN;
void solve()
{
ifstream f("secventa.in");
int i, st = 1, end = 0;
f >> n >> k;
for(i = 1; i <= n; i++)
{
f >> v[i];
while(v[i] <= v[ A[end] ] && 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;
}
f.close();
}
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;
}