Cod sursa(job #476675)

Utilizator cosmyoPaunel Cosmin cosmyo Data 12 august 2010 00:29:46
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
#include<deque>
#define pb push_back 
using namespace std;
int x[500005];
long n,k,p,u;
int maxi=-32000;
deque<long> dq;
int main()
{ifstream fin("secventa.in");
 ofstream fout("secventa.out");
  fin>>n>>k;
  long i,max;
   for(i=1;i<=n;++i)
    fin>>x[i];
 for(i=1;i<=n;++i)
	 { while(!dq.empty()&&x[i]<=x[dq.back()])
		 dq.pop_back();
	   dq.pb(i);
	if(i>=k&&x[dq.front()]>maxi)
      {maxi=x[dq.front()];
       p=i-k+1;
       u=i;
	  }	   
	 if(dq.front()<=i-k+1)
      dq.pop_front();		
	 }
freopen("secventa.out","w",stdout);
 fout<<p<<" "<<u<<" "<<maxi<<'\n';
fin.close();
fout.close(); 
 return 0;
}