Răspuns :
#include <iostream>
using namespace std;
void copiaza_elem(int a[],int b[],int n){
int i;
for(i=1;i<=2*n;i++){
b[i]=a[i];
}
}
void misca_elem(int b[],int n,int m){
int i;
for(i=m;i<n;i++){
b[i]=b[i+1];
}
}
int main(){
int n,n0,poz,poz0,k,i,poz_max=0,suma_elem=0,suma_maxima=0,suma_k;
cout<<"Introduceti nr taieri:";
cin>>n;
cout<<"Introduceti distanta intre taieri:";
cin>>k;
int a[2*n+1],b[2*n+1];
cout<<"Introduceti elementele:\n";
for(i=1;i<=2*n;i++){
cin>>a[i];
suma_elem=suma_elem+a[i];
}
for(poz=1;poz<=2*n;poz++){
n0=2*n;
poz0=poz;
copiaza_elem(a,b,n);
suma_k=0;
for(i=1;i<=n;i++){
poz=poz+k-1;
if(poz>n0){
poz=poz%n0;
}
suma_k=suma_k+b[poz];
misca_elem(b,n0,poz);
n0--;
}
if(suma_elem-suma_k>suma_maxima){
suma_maxima=suma_elem-suma_k;
poz_max=poz0;
}
poz=poz0;
}
cout<<poz_max<<" "<<suma_maxima<<endl;
return 0;
}
using namespace std;
void copiaza_elem(int a[],int b[],int n){
int i;
for(i=1;i<=2*n;i++){
b[i]=a[i];
}
}
void misca_elem(int b[],int n,int m){
int i;
for(i=m;i<n;i++){
b[i]=b[i+1];
}
}
int main(){
int n,n0,poz,poz0,k,i,poz_max=0,suma_elem=0,suma_maxima=0,suma_k;
cout<<"Introduceti nr taieri:";
cin>>n;
cout<<"Introduceti distanta intre taieri:";
cin>>k;
int a[2*n+1],b[2*n+1];
cout<<"Introduceti elementele:\n";
for(i=1;i<=2*n;i++){
cin>>a[i];
suma_elem=suma_elem+a[i];
}
for(poz=1;poz<=2*n;poz++){
n0=2*n;
poz0=poz;
copiaza_elem(a,b,n);
suma_k=0;
for(i=1;i<=n;i++){
poz=poz+k-1;
if(poz>n0){
poz=poz%n0;
}
suma_k=suma_k+b[poz];
misca_elem(b,n0,poz);
n0--;
}
if(suma_elem-suma_k>suma_maxima){
suma_maxima=suma_elem-suma_k;
poz_max=poz0;
}
poz=poz0;
}
cout<<poz_max<<" "<<suma_maxima<<endl;
return 0;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!