Cod sursa(job #2698765)
Utilizator | Pitu Bianca bibiancapitu2004 | Data | 22 ianuarie 2021 22:12:25 |
---|---|---|---|
Problema | Secventa | Scor | 80 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.7 kb |
#include <fstream>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
const int NMAX = 500005;
int a[NMAX], deq[NMAX];
int main()
{
int n, k;
int maxim = -30001 ,poz;
in >> n >> k;
int s = 1,e = 0;
for(int i = 1;i <= n;i ++)
{
in >> a[i];
while(e >= s && a[i] <= a[deq[e]] )
e --;
e ++;
deq[e] = i;
if(deq[s] == i-k)
s ++;
if(i >= k)
{
if(a[deq[s]] > maxim)
{
maxim = a[deq[s]];
poz = i;
}
}
}
out << poz - k + 1 <<" "<<poz <<" "<< maxim;
return 0;
}