Solução Informática Iniciante – Semana 40

por

Para resolver esse problema vamos primeiro gravar qual o valor da soma total do vetor.

A partir daí vamos percorrendo o vetor, mantendo a soma do $$1$$ até a posição atual. Quando chegar um momento em que $$soma\_ acumulada = \frac{total}{2}$$, então chegamos na posição $$k$$ procurada no problema.

Código para melhor entendimento:


//solucao por Davi Gabriel
#include <bits/stdc++.h>
using namespace std;
int v[100100];
int main() {
int n, total = 0, somaI = 0;
cin >> n;
for(int i = 0; i < n; ++i){
cin >> v[i];
total += v[i];
}
for(int i = 0; i < n; ++i){
somaI += v[i];
if(somaI == total/2){
cout << i + 1 << endl;
return 0;
}
}
}