Cod sursa(job #611259)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 31 august 2011 15:22:51
Problema Secventa Scor 100
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";
  f.close();
  g.close();
  return 0;
}