Cod sursa(job #316448)

Utilizator nicolaetitus12Nicolae Titus nicolaetitus12 Data 19 mai 2009 19:36:11
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <deque>
using namespace std;
deque<pair<int,int> > d;
int k,n;
int main ()
{int i,x,max=-40000,pmax;
 freopen("secventa.in","r",stdin);
 freopen("secventa.out","w",stdout);
 scanf("%d %d",&n,&k);
 for (i=1;i<k;i++)
 {scanf("%d",&x);
  while(!d.empty() && x<d.front().first)
  {d.pop_front();
  }
  d.push_front(pair<int,int>(x,i));
 }
 for (;i<=n;i++)
 {scanf("%d",&x);
  if(i-d.back().second>=k)
  {d.pop_back();
  }
  while(!d.empty()&&x< d.front().first)
  {d.pop_front();
  }
  d.push_front(pair<int,int>(x,i));
  if(max<d.back().first)
  {max=d.back().first;
   pmax=i;
  }
 }
 printf("%d %d %d",pmax-k+1,pmax,max);
 return 0;
}