Cod sursa(job #508590)
Utilizator | Data | 8 decembrie 2010 22:24:51 | |
---|---|---|---|
Problema | Secventa | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
# include <fstream.h>
ifstream f ("secventa.in");
ofstream g ("secventa.out");
int p=1,u,j=1,n,k,i,a[500005],d[500005],pr,ul,max=-50000;
void pushmin (int poz)
{
while (p<=u && a[d[u]]>a[poz])
u--;
u++;
d[u]=poz;
}
int main ()
{
f>>n>>k;
for (i=1;i<=n;i++)
f>>a[i];
for (i=1;i<=n;i++)
{
pushmin (i);
while (j<=i-k)
j++;
while (d[p]<j)
p++;
if (i>=k)
if (max<a[d[p]])
{
max=a[d[p]];
pr=j;
ul=i;
}
}
g<<pr<<" "<<ul<<" "<<max;
return 0;
}