Documente Academic
Documente Profesional
Documente Cultură
#include <iostream>
using namespace std;
int c[100000];
void MergeSort(int v[], int st, int dr)
{
if(st < dr)
{
int m = (st + dr) / 2;
MergeSort(v, st , m);
MergeSort(v, m + 1 , dr);
int i = st, j = m + 1, k = 0;
while( i <= m && j <= dr )
if( v[i] < v[j])
c[k++] = v[i++];
else
c[k++] = v[j++];
while(i <= m)
c[k++] = v[i++];
while(j <= dr)
c[k++] = v[j++];
for(i = st , j = 0 ; i <= dr ; i ++ , j ++)
v[i] = c[j];
}
}
int v[100000];int n;
int main(){
cin>>n;
for(int i=0;i<n;i++)
cin>>v[i];
MergeSort(v,0,n-1);
for(int i=0;i<n;i++)
cout<<v[i]<<" ";
}
Se consideră un șir cu n elemente, numere naturale. Folosind metoda Divide et Impera, determi
nați suma elementelor acestui șir.
# include <iostream>
int main() {
int n, i;
cin >> n;
int v[n];
for ( i = 0; i < n; i ++ )
cin >> v[i];
return 0;