Cod sursa(job #2909778)
Utilizator | Stefan Busoi STEFANBUSOI | Data | 15 iunie 2022 18:16:41 |
---|---|---|---|
Problema | Secventa | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque <int> dq;
int v[500001];
int main()
{
int n,k,i,mx,is;
fin >> n >> k;
mx=-100000;
for (i=1; i<=n; i++)
{
fin >> v[i];
while (dq.size() && v[i]<=v[dq.back()])
dq.pop_back();
if (dq.front()<=i-k && dq.size())
dq.pop_front();
dq.push_back(i);
if (i>=k)
{
if (v[dq.front()]>mx)
{
mx=v[dq.front()];
is=i;
}
}
}
fout << is-k+1 << " " << is << " " << mx;
}