Cod sursa(job #1017979)

Utilizator vlad.florescu94FMI Florescu Vlad - Adrian vlad.florescu94 Data 28 octombrie 2013 19:02:40
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include<ctime>
#include<cstdlib>
#include<algorithm>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
long k,n,v[3000001],i,j,piv,pivo,p;
void qstat(long st, long dr)
{i=st;j=dr;
 piv=v[(i+j)/2];
 while(i<=j)
   {while(v[i]<piv)
      i++;
    while(v[j]>piv)
      j--;
    if(i<=j)
      {swap(v[i],v[j]);i++;j--;}
   }
 g<<i<<" "<<j<<'\n';
 for(i=1;i<=n;i++)
    g<<v[i]<<" ";
 g<<endl;
 while(v[j]!=piv)
    j++;
 if(j==k)
    g<<piv;
 else
    if(j<k)
      qstat(j-1,dr);
    else
      qstat(st,j-1);
}
int main()
{f>>n>>k;
 for(i=1;i<=n;i++)
    f>>v[i];
 qstat(1,n);
 f.close();g.close();
 return 0;
}