Cod sursa(job #2036088)
Utilizator | Nedelcu Mihai Vlad nedelcu11 | Data | 10 octombrie 2017 11:52:00 |
---|---|---|---|
Problema | Secventa | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
deque<int> B;
int n,k,a[500001];
int vmax,vf,vs;
int main()
{ f>>n>>k;
for(int i=1;i<=n;i++)
{ f>>a[i];
while(!B.empty() and a[B.front()]>a[i])
B.pop_front();
B.push_front(i);
if(!B.empty() and i-B.back()>=k)
B.pop_back();
if(i>=k)
{ if(a[B.back()]>vmax)
{ vmax=a[B.back()];
vf=i;
vs=B.back();
}
}
}
g<<vs<<' '<<vf<<' '<<vmax;
return 0;
}