Cod sursa(job #2676373)
| Utilizator | Data | 24 noiembrie 2020 09:56:32 | |
|---|---|---|---|
| Problema | Secventa | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream cin ("secventa.in");
ofstream cout ("secventa.out");
deque <int> v;
int x[500000];
int main()
{
long long n,i,lmax=-1000000,u=0,h,k;
cin>>n>>k;
for(i=1; i<=n; i++)
{
cin>>x[i];
}
for(i=1; i<=n; i++)
{
while(!v.empty() && x[v.back()]>x[i])
{
v.pop_back();
}
v.push_back(i);
if(!v.empty() && i-k>=v.front())
{
v.pop_front();
}
if(i>=k && v.front()>lmax)
{
u=i;
h=i-k+1;
lmax=x[v.front()];
}
}
cout<<h<<" "<<u<<" "<<lmax;
return 0;
}
