Cod sursa(job #519683)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 6 ianuarie 2011 11:03:43
Problema Secventa Scor 0
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=d[p];
		}
	  if (i>k) while (d[p]<=i-k+1 && p<=u) ++p;
    }
    g<<pmax<<" "<<pmax+k-1<<" "<<max<<"\n";
    f.close();
    g.close();
    return 0;
}