#include <iostream>
#include <vector>
#include <random>
using namespace std;
int randomInt() { return rand(); }
struct person
{
int athletic;
int smarts;
int spirit;
int contestVal;
};
int AthleticContest(vector<person> &subjects)
{
cout << "Athletic Contest!!!" << endl << endl;
for (int hh = 0; hh < subjects.size(); hh++)
{
int result = subjects[hh].athletic;
subjects[hh].contestVal = result;
cout << "Contestant # " << (hh+1) << ") " << subjects[hh].contestVal << endl;
}
int winner;
int tempWin = -1;
for (int hh = 0; hh < subjects.size(); hh++)
{
if (subjects[hh].contestVal > tempWin)
{
tempWin = subjects[hh].contestVal;
winner = hh;
}
else if (subjects[hh].contestVal == tempWin)
{
if (randomInt() > 4)
winner = hh;
}
}
cout << "Winner is Contestant # " << (winner+1) << endl;
return winner;
}
int main()
{
vector<person> subject(2); // create only 2 items
subject[0].athletic = 5;
subject[0].smarts = 3;
subject[0].spirit = 1;
subject[1].athletic = 1;
subject[1].smarts = 3;
subject[0].spirit = 5;
subject[1].athletic = 3;
subject[1].smarts = 5;
subject[0].spirit = 1;
AthleticContest(subject);
person hbolt = {4, 2, 1, 0};
subject.emplace_back (hbolt);
AthleticContest(subject);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cmFuZG9tPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHJhbmRvbUludCgpIHsgcmV0dXJuIHJhbmQoKTsgfQoKc3RydWN0IHBlcnNvbgp7CiAgICBpbnQgYXRobGV0aWM7CiAgICBpbnQgc21hcnRzOwogICAgaW50IHNwaXJpdDsKICAgIGludCBjb250ZXN0VmFsOwp9OwoKaW50IEF0aGxldGljQ29udGVzdCh2ZWN0b3I8cGVyc29uPiAmc3ViamVjdHMpCnsKICAgICBjb3V0IDw8ICJBdGhsZXRpYyBDb250ZXN0ISEhIiA8PCBlbmRsIDw8IGVuZGw7CiAgICAgZm9yIChpbnQgaGggPSAwOyBoaCA8IHN1YmplY3RzLnNpemUoKTsgaGgrKykKICAgICB7CiAgICAgICAgIGludCByZXN1bHQgPSBzdWJqZWN0c1toaF0uYXRobGV0aWM7CiAgICAgICAgIHN1YmplY3RzW2hoXS5jb250ZXN0VmFsID0gcmVzdWx0OwogICAgICAgICBjb3V0IDw8ICJDb250ZXN0YW50ICMgIiA8PCAoaGgrMSkgPDwgIikgIiA8PCBzdWJqZWN0c1toaF0uY29udGVzdFZhbCAgPDwgZW5kbDsKICAgICB9CiAgICAgaW50IHdpbm5lcjsKICAgICBpbnQgdGVtcFdpbiA9IC0xOwogICAgIGZvciAoaW50IGhoID0gMDsgaGggPCBzdWJqZWN0cy5zaXplKCk7IGhoKyspCiAgICAgewogICAgICAgIGlmIChzdWJqZWN0c1toaF0uY29udGVzdFZhbCA+IHRlbXBXaW4pCiAgICAgICAgewogICAgICAgICAgICB0ZW1wV2luID0gc3ViamVjdHNbaGhdLmNvbnRlc3RWYWw7CiAgICAgICAgICAgIHdpbm5lciA9IGhoOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChzdWJqZWN0c1toaF0uY29udGVzdFZhbCA9PSB0ZW1wV2luKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKHJhbmRvbUludCgpID4gNCkKICAgICAgICAgICAgICAgIHdpbm5lciA9IGhoOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgIldpbm5lciBpcyBDb250ZXN0YW50ICMgIiA8PCAod2lubmVyKzEpICAgPDwgZW5kbDsKCiAgICByZXR1cm4gd2lubmVyOwp9CgppbnQgbWFpbigpCnsKICAgIHZlY3RvcjxwZXJzb24+IHN1YmplY3QoMik7ICAvLyBjcmVhdGUgb25seSAyIGl0ZW1zCgogICAgc3ViamVjdFswXS5hdGhsZXRpYyA9IDU7CiAgICBzdWJqZWN0WzBdLnNtYXJ0cyAgID0gMzsKICAgIHN1YmplY3RbMF0uc3Bpcml0ICAgPSAxOwogICAgc3ViamVjdFsxXS5hdGhsZXRpYyA9IDE7CiAgICBzdWJqZWN0WzFdLnNtYXJ0cyAgID0gMzsKICAgIHN1YmplY3RbMF0uc3Bpcml0ICAgPSA1OwogICAgc3ViamVjdFsxXS5hdGhsZXRpYyA9IDM7CiAgICBzdWJqZWN0WzFdLnNtYXJ0cyAgID0gNTsKICAgIHN1YmplY3RbMF0uc3Bpcml0ICAgPSAxOwoKICAgIEF0aGxldGljQ29udGVzdChzdWJqZWN0KTsKICAgIAogICAgcGVyc29uIGhib2x0ID0gezQsIDIsIDEsIDB9OyAKICAgIHN1YmplY3QuZW1wbGFjZV9iYWNrIChoYm9sdCk7CiAgICBBdGhsZXRpY0NvbnRlc3Qoc3ViamVjdCk7CiAgICAKfQo=