Mai intai trebuie sa te autentifici.
Cod sursa(job #2047584)
Utilizator | Data | 25 octombrie 2017 00:01:24 | |
---|---|---|---|
Problema | Secventa | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream in ("secventa.in");
ofstream out ("secventa.out");
const int N=500002;
int v[N],deq[N];
int main()
{
int n,k,i,st=1,dr=0,start,stop,maxi=0;
in>>n>>k;
for (i=1;i<=n;i++)
in>>v[i];
for (i=1;i<=n;i++)
{
while (st<=dr && deq[st]==i-k)
st++;
while (st<=dr && v[deq[dr]]>=v[i])
dr--;
dr++;
deq[dr]=i;
if (st<=dr && i>=k)
if (maxi<v[deq[st]])
maxi=v[deq[st]], start=i-k+1, stop=i;
}
out<<start<<" "<<stop<<" "<<maxi;
return 0;
}