
nBidders = 4

class SellerOutput:
    winner = None
    winningPrice = None

class Seller:
    output = SellerOutput()

class BidderOutput:
    win = None
    winningPrice = None

class Bidder:
    input = None
    output = BidderOutput()

def main(seller, bidder):
    # seller has id nBidders+1, bidders has ids 1..nBidders.
    winner = 0
    high = bidder[0].input
    second = 0

    for i in range(1, nBidders):
        cond0 = bidder[i].input > high
        cond1 = (1 - cond0) * (bidder[i].input > second)
        winner = cond0 * i + (1-cond0) * winner
        second = cond0 * high + (1-cond0) * second
        high = bidder[i].input
        second = cond1 * bidder[i].input + (1-cond1) * second

    seller.output.winner = rt.open(winner, [nBidders+1])
    seller.output.winningPrice = rt.open(second, [nBidders+1])
    for i in range(0, nBidders):
        bidder[i].output.win = rt.open(winner == i, [i+1])
        bidder[i].output.winningPrice = rt.open(second, [i+1])

