Cod sursa(job #249321)

Utilizator klamathixMihai Calancea klamathix Data 28 ianuarie 2009 00:24:58
Problema Secventa Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<stdio.h>


long int N,K,i,j,max=-30001,min=300001,left,right,v[500000],pozmin,start,end;

int main()

{

freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%ld %ld",&N,&K);
for(i=1;i<=K;i++)
 {
  scanf("%ld",&v[i]);
  if(v[i]<min) {
                 min=v[i];
                 pozmin=i;
                }
 }
max=min;

left=1;right=K;

for(i=K+1;i<=N;i++)
 {
  scanf("%ld",&v[i]);
  left++;right++;
  if(pozmin>=left)
   {
    if(v[i]<min) {
                   v[i]=min;pozmin=i;
                   if(min>max) {max=min;start=left;end=right;}
                 }
   }
  else
    {
     min=v[left];pozmin=left;
     for(j=left+1;j<=right;j++)
       if(v[j]<min) {min=v[j];pozmin=j;}
    }
  if(min>max) { max=min;start=left;end=right;}

  }

printf("%ld %ld %ld\n",start,end,max);

fcloseall();
return 0;
}