Solução Garçom

Solução por Rogério Júnior

Vamos criar uma variável resposta e vamos adicionar a ela o número de copos que cai de cada bandeja (que pode ser zero). Para fazer isso, em cada uma das n linha que vêm após a primeira, verificamos se o primeiro número (número de latas) supera o segundo(número de copos). Se isso ocorrer, os copos vão cair e adicionamos o número de copos à resposta. Vamos ao código:


#include <cstdio>
int main(){
int n, resposta=0; // declaração de n e da resposta
scanf("%d", &n); // leio o valor de n na entrada
for(int i=1; i<=n; i++){ // para cada bandeja
int latas, copos; // declaro o valor de latas e de copos
scanf("%d %d", &latas, &copos); // leio o numero de latas e de copos
if(latas > copos) resposta+=copos; // se o número de latas for maior que o de copos, adicionamos os copos à resposta
}
printf("%d\n", resposta); // imprimos a resposta com quebra de linha para evitar runtime error
return 0;
}

view raw

garcom.cpp

hosted with ❤ by GitHub

Nosso leitor Roger Benet enviou uma solução em Java que também funciona:


import java.io.*;
public class solucao{
public static void main(String[] args)throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int n,k;
String[] aux;
n = Integer.parseInt(in.readLine());
k = 0;
while(n-- > 0){
aux = in.readLine().split(" ");
if(Integer.parseInt(aux[0]) > Integer.parseInt(aux[1]))
k += Integer.parseInt(aux[1]);
}
System.out.println(k);
}
}

view raw

gistfile1.java

hosted with ❤ by GitHub