Nu aveti permisiuni pentru a descarca fisierul grader_test17.in
Cod sursa(job #3254328)
Utilizator | Data | 7 noiembrie 2024 11:13:48 | |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.78 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int n,i,v[1001],srt[1001];
void msort(int v[], int st, int dr){
if(st<dr){
int mid=(st+dr) / 2;
msort(v,st,mid);
msort(v,mid+1,dr);
int i=st, j=mid+1, k=0;
while( i<=mid && j<=dr)
if(v[i]<v[j])
srt[++k]=v[i++];
else
srt[++k]=v[j++];
while(i<=mid)
srt[++k]=v[i++];
while(j<=dr)
srt[++k]=v[j++];
for(i=st,j=1; i<= dr ; i++, j++)
v[i] = srt[j];
}
}
int main (){
fin>>n;
for(i=1;i<=n;i++){
fin>>v[i];
}
msort(v,1,n);
for(i=1;i<=n;i++){
fout<<v[i]<<" ";
}
}