Cod sursa(job #519686)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 6 ianuarie 2011 11:12:15
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream.h>
#define NMAX 500005

int p, u, i, a[NMAX], n, d[NMAX], max=-NMAX, k, pmax;

int main()
{
    ifstream f("secventa.in");
    ofstream g("secventa.out");
    f>>n>>k;
    p=1;
    for (i=1; i<=n; ++i)
    {
	  f>>a[i];
	  while (a[i]<=a[d[u]] && u>=p) --u;
	  d[++u]=i;
	  if (max<a[d[p]] && i>=k) 
		{
		    max=a[d[p]];
		    pmax=i;
		}
	  if (i>=k) while (d[p]<=i-k+1 && p<=u) ++p;
    }
    g<<pmax-k+1<<" "<<pmax<<" "<<max<<"\n";
    f.close();
    g.close();
    return 0;
}