Cod sursa(job #333116)
| Utilizator | Data | 21 iulie 2009 15:25:39 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include<fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int a[500001],n;
void stooge(int p,int q)
{if(a[p]>a[q]) {int aux=a[p];a[p]=a[q];a[q]=aux;}
if(p+1>=q) return;
int k=(q-p+1)/3;
stooge(p,q-k);
stooge(p+k,q);
stooge(p,q-k);
}
int main()
{in>>n;
for(int i=1;i<=n;i++) in>>a[i];
stooge(1,n);
for(int i=1;i<=n;i++) out<<a[i]<<" ";
return 0;}
