Cod sursa(job #603053)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 14 iulie 2011 12:32:25
Problema Secventa Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
using namespace std;
const int maxn=100000005;
int n, k, i, first, last, a[maxn], p, minim=-30001, deque[maxn];
ifstream f("secventa.in");
ofstream g("secventa.out");
int main()
{ f>>n>>k;
  for(i=1; i<=n; ++i) f>>a[i];
  first=1, last=0;
  for(i=1; i<=n; ++i) { while(first<=last && a[i]<=a[deque[last]]) last--;
						deque[++last]=i;
						if(deque[first]==i-k) first++;
					    if(i>=k && a[deque[first]]>minim) { minim=a[deque[first]];
														  p=i;
						                                }
                      }
  g<<p-k+1<<" "<<p<<" "<<minim<<"\n";
  fclose(stdin);
  fclose(stdout);
  return 0;
}