Pagini recente » Cod sursa (job #497315) | Cod sursa (job #439357) | Cod sursa (job #1417600) | Cod sursa (job #1349999) | Cod sursa (job #448160)
Cod sursa(job #448160)
#include <fstream>
using namespace std;
int v[500001], d[500001];
int main()
{
int n, k, i;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
fi >> n >> k;
for(i = 1; i <= n; ++i) fi >> v[i];
int first = 1, last = 1;
d[1] = 1;
int baza = -1000000000, isf;
for(i = 2; i <= n; ++i)
{
while(first <= last && i - d[first] >= k) first++;
while(first <= last && v[i] <= v[d[last]]) last--;
d[++last] = i;
if(i >= k)
{
if(baza < v[d[first]])
{
baza = v[d[first]];
isf = i;
}
}
}
fo << isf - k + 1 << " " << isf << " " << baza << "\n";
return 0;
}