1105 - Sub-prime

Mais um dia, mais um problema Ad Hoc...

Descrição

Solução

Para este problema, basta simularmos todas as transações, lembrando de arrumar os valores iniciais de acordo com os indicados pela entrada e, ao final, ver se todos os bancos estão no azul. Se algum banco possui saldo negativo ao final de todas as operações, então não é possível liquidar todas as debêntures sem a intervenção do Banco Central.

#include <stdio.h>

int main(){
    int saldos[21];
    int B, N, devedor, credor, valor, possivel;

    while(scanf("%d %d", &B, &N)){
        if(!B && !N)    break;

        for(int i = 1; i <= B; ++i){
            scanf("%d", &saldos[i]);
        }

        for(int i = 0; i < N; ++i){
            scanf("%d %d %d", &devedor, &credor, &valor);

            saldos[devedor] -= valor;
            saldos[credor] += valor;
        }

        possivel = 1;
        for(int i = 1; i <= B; ++i){
            if(saldos[i] < 0){
                possivel = 0;
                break;
            }
        }

        printf("%c\n", possivel ? 'S' : 'N');
    }
    
    return 0;
}

Last updated