Cod sursa(job #779222)

Utilizator ionut_blesneagIonut Blesneag ionut_blesneag Data 17 august 2012 01:19:27
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;

int i,N,K,size,c,begin,end,maxim,poz,nrc;
int s[500001],v[500001];
char buff[50];

int get_number()
{int nrn=0;
 while(buff[nrc]<='9' && buff[nrc]>='0')
  {nrn=10*nrn+buff[nrc]-'0';
   nrc++;}
 return nrn;  
}

int main()
{freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
gets(buff);
nrc=0;
N=get_number();
nrc++;
K=get_number();
gets(buff);
nrc=0;
for(i=1; i<=N; i++)
 {v[i]=get_number();  nrc++;
  while(v[s[end]]>v[i] && end>=begin)
     end--;
  end++;
  s[end]=i;
  
  if(s[begin]<=i-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;}