Răspuns :
#include <iostream>
using namespace std;
int vec[10001];
bool sters[10001];
int mod(int a,int b){
return (a % b + b) % b;
}
int main(){
int n,k;
cin >> n >> k;
for(int i = 1; i <= 2*n; i++){
cin >> vec[i];
}
int ind = 1;
int veclen = 2*n;
for(int i = 0; i < n; i++){
sters[ind] = true;
ind += k;
if(ind > veclen) ind %= (veclen);
while(sters[ind]){ind++;if(ind > veclen) ind %= veclen;}
}
int smax = 0, s, indmax = -1;
for(ind = 1; ind <= veclen; ind++){
s = 0;
for(int i = 1; i <= veclen; i++){
if(!sters[mod(i - ind, veclen)+1]) s += vec[i];
}
if(s > smax){
smax = s;
indmax = ind;
}
}
cout << indmax << ' ' << smax;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.