Cod sursa(job #1203058)
| Utilizator | Data | 30 iunie 2014 15:55:12 | |
|---|---|---|---|
| Problema | Secventa | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.8 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
deque <long> Dq;
long i,n,aux,k,A[500013],maxim(-999999),sol1;
int main()
{
cin>>n>>k;
for (i=1;i<=n;++i){
cin>>A[i];
while(!Dq.empty() && A[i]<=A[Dq.back()]) Dq.pop_back();
Dq.push_back(i);
if (!Dq.empty() && i-k==Dq.front()) Dq.pop_front();
if (maxim<A[Dq.front()] && i>=k){
maxim=A[Dq.front()];
sol1=i;
}
}
cout<<sol1-k+1<<" "<<sol1<<" "<<maxim;
return 0;
}
