Cod sursa(job #1183839)
| Utilizator | Data | 10 mai 2014 12:34:37 | |
|---|---|---|---|
| Problema | Secventa | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
#include <cstdio>
#define NM 500005
using namespace std;
int n,k,i,v[NM],be,en,mx,q[NM],poz;
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d %d", &n, &k);
be=1;
mx=-30005;
for (i=1; i<=n; i++)
{
scanf("%d", &v[i]);
while (en>=be && v[i]<=v[q[en]])
en--;
en++;
q[en]=i;
if (q[be]<i-k+1)
be++;
if (be<=en && i>=k && v[q[be]]>mx)
{
mx=v[q[be]];
poz=i;
}
}
printf("%d %d %d\n", poz-k+1, poz, mx);
return 0;
}
