Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- int merge(int B[],int p,int C[],int q,int A[]){
- int i,j,k;
- i=j=k=0;
- while(i<p && j<q){
- if(B[i]<= C[j]){
- A[k]=B[i];
- i++;
- }
- else{
- A[k]=C[j];
- j++;
- }
- k++;
- }
- if (i==p){
- while(j<q){
- A[k]=C[j];
- k++;
- j++;
- }
- }
- else{
- while(i<p){
- A[k]=B[i];
- k++;
- i++;
- }
- }
- }
- int mergeSort(int A[], int fim){
- int B[fim],C[fim],meio,j,i=0;
- int a[100000];
- if(fim>1){
- meio = fim/2;
- if(fim%2==0){
- j=fim-meio;
- }
- else{
- j=fim-meio-1;
- }
- int guarda=j;
- while(i<meio || j<=fim){
- B[i]=A[i];
- C[i]=A[j];
- j++;
- i++;
- }
- mergeSort(B,meio);
- mergeSort(C,guarda);
- merge(B,meio,C,guarda,A);
- }
- }
- int main(){
- int n,valor=0;
- int vet[100000];
- scanf("%d",&n);
- for(int i=0;i<n;i++){
- scanf("%d",&vet[i]);
- valor=valor+vet[i];
- }
- int guarda=valor;
- mergeSort(vet,n);
- for(int i=0;i<n;i++){
- printf("%d ",vet[i]);
- }
- /*
- int qtdCupons,cupons;
- scanf("%d",&qtdCupons);
- for(int i=0;i<qtdCupons;i++){
- scanf("%d",cupons);
- valor=valor-vet[n-cupons];
- printf("%d\n",valor);
- valor=guarda;
- }*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement