Cod sursa(job #779267)

Utilizator ionut_blesneagIonut Blesneag ionut_blesneag Data 17 august 2012 12:39:44
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<cstdio>
using namespace std;

const int inf=300002;
int n,k,i,c,begin,end,maxim,poz;
int s[500001],v[500001];
int main()
{freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d %d",&n,&k);
begin=1;
maxim=-inf;
for(i=1; i<=n; i++)
{scanf("%d",&v[i]);
 while(v[i]<=v[s[end]] && begin<=end)  end--;
 end++;
 s[end]=i;
 if(s[end]-s[begin]>=k)
   begin++;
 if(i>=k && v[s[begin]]>maxim)
    {maxim=v[s[begin]];
     poz=i;}  
}
printf("%d %d %d",poz-k+1,poz,maxim);
return 0;
}