Solução Informática - Nível Iniciante - Semana 15

Solução por Anita Ramos

Este é um problema pertencente a 2º fase da OBI - Programação Nível Júnior, que não necessita tantos comandos distintos e mais complexos, mas que exige uma certa atenção para garantir a pontuação completa (100 pontos).

Iniciando a programação então, após declarar a biblioteca e as variáveis utilizadas, o programa lê a primeira linha de entrada e inicia um loop com o comando for() que irá ler as demais linhas de entrada, armazenando os valores nas variáveis T e V (alterados a cada leitura) e somando a multiplicação de um pelo outro a variável soma (resultado final).  Por fim, ele imprimi essa variável soma.

O programa realmente é simples, mas podemos destacar um detalhe valioso na hora de resolvê-lo: não é necessário armazenar todos os valores de T e V. A cada linha que é lida, seus valores são definidos na entrada e a multiplicação entre eles é somada a variável soma, mas depois ambos podem ser descartados para a próxima leitura. Isso contribui para um código mais organizado, simples e compactado.

Segue o código comentado para melhor compreensão da solução:


#include<bits/stdc++.h> //biblioteca utilizada
using namespace std;
int main()
{
int N, T, V, soma=0; //declaração das variáveis
scanf("%d", &N); //lê a primeira linha de entrada
for(int i=0; i<N; i++) //loop para ler as demais linhas de entrada
{
scanf("%d %d", &T, &V); //lê o 'T' e o 'V' nas demais 'N' linhas
soma+=V*T; //soma o valor de 'V'x'T' à variável 'soma'
}
printf("%d", soma); //imprimi o valor da 'soma' final
return 0; //retorna a 0
}

view raw

Tacógrafo.cpp

hosted with ❤ by GitHub