Pagini recente » Cod sursa (job #3240066) | Cod sursa (job #2274507) | Cod sursa (job #1508020) | Cod sursa (job #2634794) | Cod sursa (job #789962)
Cod sursa(job #789962)
#include <fstream>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int q[500001],k,n;
short int a[500001];
int main()
{
int b, f, i, maxim=-30001, y;
fin>>n>>k;
for (i=1; i<=n; i++)
{
fin >> a[i];
}
f=1,b=0;
for (i=1; i<=n; i++)
{
while (a[q[b]] >= a[i] && b >= f)
{
b--;
}
q[++b]=i;
if (q[f] == i-k)
{
f++;
}
if (i >= k && a[q[f]] > maxim)
{
maxim=a[q[f]];
y=i;
}
}
fout<<y-k+1<<" "<<y<<" "<<maxim<<"\n";
return 0;
}