Cod sursa(job #1672041)
Utilizator | Data | 2 aprilie 2016 12:26:51 | |
---|---|---|---|
Problema | Secventa | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
deque<int> mi;
int a[500101],n,k,p,u;
int main()
{
cin>>n>>k;
int min=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
while(!mi.empty()&&a[mi.front()]>=a[i])
mi.pop_front();
mi.push_front(i);
if(mi.back()==i-k) {mi.pop_back();}
if(a[mi.back()]>min) {min=a[mi.back()];p=mi.back();u=i;}
}
cout<<p<<" "<<u<<" "<<min;
return 0;
}