Skip to content

Instantly share code, notes, and snippets.

@rogerioagjr
Last active August 29, 2015 14:21
Show Gist options
  • Save rogerioagjr/17435280fe5295a764a7 to your computer and use it in GitHub Desktop.
Save rogerioagjr/17435280fe5295a764a7 to your computer and use it in GitHub Desktop.
Quadradinho de 8
#include <cstdio>
int n, soma, qtd[10];
long long int resposta;
int main(){
scanf("%d", &n); // leio o valor de n
// no cmeço, só há um intervalo na fileira: o vazio(0, 0)
qtd[0]=1; // e ele é congruente a 0(mod 8)
for(int i=1; i<=n; i++){ // para cada posição da fileira
// declar e elio o número da posição
int num;
scanf("%d", &num);
soma+=num; // somo seu valor a soma
soma%=8; // atualizo a congruência de soma (mod 8)
// e para cada posiçõ anterior que a soma de todos os números
// até tal posição era congruente a 8 (mod 0)
resposta+=qtd[soma]; // adiciono uma possível resposta
// e guardo que encontrei outra posição de soma congruente a 0 (mod 8)
qtd[soma]++;
}
printf("%lld\n", resposta); // ao fim da leitura, imprimo o valor de resposta
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment