Cod sursa(job #779225)

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

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

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

int main()
{ifstream f("secventa.in");
ofstream g("secventa.out");
f>>N>>K;
f.get();
f.getline(buff,3500020);
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;}   
 }
g<<poz-K+1<<" "<<poz<<" "<<maxim; 
return 0;}