Pagini recente » Cod sursa (job #2120839) | Cod sursa (job #2902200) | Cod sursa (job #1536590) | Cod sursa (job #1136398) | Cod sursa (job #198430)
Cod sursa(job #198430)
#include<fstream.h>
int a[500000],i,j,k,l,n,st,dr,max=-32000;
void sort(int p,int q)
{int i,min=32000,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;}
else
if(min==max)
{if(p<st)
{st=p;dr=q;}
else
if(q<dr)
{st=p;dr=q;}
}
if((poz-p)>=k)
sort(p,poz-1);
if((q-poz)>=k)
sort(poz+1,q);
}
int main(){
ifstream f("secventa.in");
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
f.close();
sort(1,n);
if(a[st-1]>max&&st>1){
while(a[st]>max&&st>1)
st--;
st++; }
if(a[dr-1]>max&&(dr-st)>k){
while(a[dr]>max&&(dr-st)>k)
dr--;
dr++;}
ofstream g("secventa.out");
g<<st<<" "<<dr<<" "<<max;
g.close();
return 0;
}