Cod sursa(job #556570)

Utilizator AndreiMihuAndrei Mihu AndreiMihu Data 16 martie 2011 10:51:50
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<fstream.h>
ifstream f("secventa.in");
ofstream g("secventa.out");
int a[500000],b[500000],c[500000],i,j,min,pmin,pmax,mini,n,k,max;
int main()
{ f>>n>>k;
  for(i=1;i<=n;i++) f>>a[i];
  b[1]=a[1];
  c[1]=1;
  if(a[2]<b[1]) { b[2]=a[2];
                  c[2]=2;
                }
  else { b[2]=b[1];
         c[2]=1;
       }
  for(i=3;i<=n;i++) { min=a[i-k+1];
                      pmin=i-k+1; 
                      for(j=i-k+1;j<=i;j++)  if(a[j]<min) { min=a[j];
                                                            pmin=j;
					                                      }
					  b[i]=min;
					  c[i]=pmin; 
                    }
  for(i=1;i<=n;i++) if(b[i]>max) { max=b[i];
								   pmax=c[i];
                                   mini=i;
                                 }
  for(i=mini;i>=pmax;i--) g<<a[i]<<" ";
  f.close();
  g.close();
  return 0;
}