#include <iostream>
using namespace std;
struct Item
{
int id;
double p;
int count = 0;
} items[] =
{
{1, 10},
{2, 15},
{3, 20},
{4, 25},
{5, 30}
};
int main()
{
srand(time(0));
const int count = 1000;
for(int j = 0; j < count; ++j)
{
double pi = 0, p = rand()*100.0/RAND_MAX;
for(int i = 0; i < 5; ++i)
{
pi += items[i].p;
if (p < pi)
{
cout << items[i].id << " ";
items[i].count++;
break;
}
}
}
cout <<"\n\n";
for(int i = 0; i < 5; ++i)
{
cout << items[i].id << " " << items[i].count << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBJdGVtCnsKICAgIGludCBpZDsKICAgIGRvdWJsZSBwOwogICAgaW50IGNvdW50ID0gMDsKfSBpdGVtc1tdID0KewogICAgezEsIDEwfSwKICAgIHsyLCAxNX0sCiAgICB7MywgMjB9LAogICAgezQsIDI1fSwKICAgIHs1LCAzMH0KfTsKCgppbnQgbWFpbigpCnsKICAgIHNyYW5kKHRpbWUoMCkpOwogICAgY29uc3QgaW50IGNvdW50ID0gMTAwMDsKICAgIGZvcihpbnQgaiA9IDA7IGogPCBjb3VudDsgKytqKQogICAgewogICAgICAgIGRvdWJsZSBwaSA9IDAsIHAgPSByYW5kKCkqMTAwLjAvUkFORF9NQVg7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IDU7ICsraSkKICAgICAgICB7CiAgICAgICAgICAgIHBpICs9IGl0ZW1zW2ldLnA7CiAgICAgICAgICAgIGlmIChwIDwgcGkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgaXRlbXNbaV0uaWQgPDwgIiAiOwogICAgICAgICAgICAgICAgaXRlbXNbaV0uY291bnQrKzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCJcblxuIjsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCA1OyArK2kpCiAgICB7CiAgICAgICAgY291dCA8PCBpdGVtc1tpXS5pZCA8PCAiICAiIDw8IGl0ZW1zW2ldLmNvdW50IDw8IGVuZGw7CiAgICB9Cgp9Cgo=