Cod sursa(job #779224)

Utilizator ionut_blesneagIonut Blesneag ionut_blesneag Data 17 august 2012 01:32:10
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 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[50];

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("secventa2.in");
ofstream g("secventa.out");
f.getline(buff,50);
nrc=0;
N=get_number();
nrc++;
K=get_number();
f.getline(buff,50);
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;}