Pagini recente » Diferente pentru fmi-no-stress-4 intre reviziile 22 si 17 | Monitorul de evaluare | Monitorul de evaluare | Statistici mihai tomoiaga (michaeltom) | Cod sursa (job #250049)
Cod sursa(job #250049)
#include <stdio.h>
#define lg_max 500010
int sir[lg_max],poz[lg_max];
int n,k,u,p;
int maxx,pi;
int main ()
{
freopen ("secventa.in","r",stdin);
freopen ("secventa.out","w",stdout);
scanf ("%d %d",&n,&k);
for (int i=1;i<=n;i++)
scanf ("%d",&sir[i]);
u=0;
p=1;
maxx=-2532634;
for (int i=1;i<=k;i++)
{
while (u>=p && sir[i]<=sir[poz[u]])
u--;
poz[++u]=i;
}
maxx=sir[poz[p]];
pi=1;
for (int i=k+1;i<=n;i++)
{
while (u>=p && sir[i]<=sir[poz[u]])
u--;
poz[++u]=i;
if (poz[p]==i-k)
p++;
if (i>=k)
{
if (sir[poz[p]]>maxx)
{
maxx=sir[poz[p]];
pi=i-k+1;
}
}
}
printf("%d %d %d\n",pi,pi+k-1,maxx);
return 0;
}