Pagini recente » Cod sursa (job #599733) | Cod sursa (job #1487071) | Cod sursa (job #1342225) | Cod sursa (job #1432746) | Cod sursa (job #199247)
Cod sursa(job #199247)
#include<fstream.h>
#define inf 32100
int a[500000],i,j,k,max,n,st,dr;
void separ(int p,int q)
{int min=inf,i,poz;
for(i=p;i<=q;i++)
if(a[i]<min)
{min=a[i];
poz=i;
}
if(min>max)
{max=min;
st=p;dr=q;}
if((poz-p)>=k)
separ(p,poz-1);
if((q-poz)>=k)
separ(poz+1,q);
}
int main(){
ifstream f("secventa.in");
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
f.close();
separ(1,n);
for(;a[dr]>max,dr-st+1>k;dr--){}
ofstream g("secventa.out");
g<<st<<" "<<dr<<" "<<max;
g.close();
return 0;
}