#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
 
struct Foo {
    float score;
    bool winner;
};
 
int main() {
	vector<Foo> inputs { {20, true}, {10, false}, {5, true}, {30, true} }; 
	vector<Foo*> foor; 
	for (auto& x:inputs)
	   foor.push_back(&x);
	vector<Foo*> foob(inputs.size(),nullptr); 
	transform(inputs.begin(), inputs.end(), foob.begin(), [](auto&x) {return &x;}); 
    for (auto& x:inputs) cout<<x.score<<" "; cout<<endl; 
    for (auto& x:foob) cout<<x->score<<" "; cout<<endl; 
    for (auto& x:foor) cout<<x->score<<" "; cout<<endl; 
 
    sort(foob.begin(), foob.end(), [](Foo*a, Foo*b)->bool {return a->score>b->score;}); 
    for (auto& x:foob) cout<<x->score<<" "; cout<<endl; 
    for (size_t i=0; i<foob.size(); i++)
        foob[i]->winner= i<3;
    for (auto& x:foob) cout<<x->winner<<" "; cout<<endl; 
	return 0;
}
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aXRlcmF0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgRm9vIHsKICAgIGZsb2F0IHNjb3JlOwogICAgYm9vbCB3aW5uZXI7Cn07CgppbnQgbWFpbigpIHsKCXZlY3RvcjxGb28+IGlucHV0cyB7IHsyMCwgdHJ1ZX0sIHsxMCwgZmFsc2V9LCB7NSwgdHJ1ZX0sIHszMCwgdHJ1ZX0gfTsgCgl2ZWN0b3I8Rm9vKj4gZm9vcjsgCglmb3IgKGF1dG8mIHg6aW5wdXRzKQoJICAgZm9vci5wdXNoX2JhY2soJngpOwoJdmVjdG9yPEZvbyo+IGZvb2IoaW5wdXRzLnNpemUoKSxudWxscHRyKTsgCgl0cmFuc2Zvcm0oaW5wdXRzLmJlZ2luKCksIGlucHV0cy5lbmQoKSwgZm9vYi5iZWdpbigpLCBbXShhdXRvJngpIHtyZXR1cm4gJng7fSk7IAogICAgZm9yIChhdXRvJiB4OmlucHV0cykgY291dDw8eC5zY29yZTw8IiAiOyBjb3V0PDxlbmRsOyAKICAgIGZvciAoYXV0byYgeDpmb29iKSBjb3V0PDx4LT5zY29yZTw8IiAiOyBjb3V0PDxlbmRsOyAKICAgIGZvciAoYXV0byYgeDpmb29yKSBjb3V0PDx4LT5zY29yZTw8IiAiOyBjb3V0PDxlbmRsOyAKICAgIAogICAgc29ydChmb29iLmJlZ2luKCksIGZvb2IuZW5kKCksIFtdKEZvbyphLCBGb28qYiktPmJvb2wge3JldHVybiBhLT5zY29yZT5iLT5zY29yZTt9KTsgCiAgICBmb3IgKGF1dG8mIHg6Zm9vYikgY291dDw8eC0+c2NvcmU8PCIgIjsgY291dDw8ZW5kbDsgCiAgICBmb3IgKHNpemVfdCBpPTA7IGk8Zm9vYi5zaXplKCk7IGkrKykKICAgICAgICBmb29iW2ldLT53aW5uZXI9IGk8MzsKICAgIGZvciAoYXV0byYgeDpmb29iKSBjb3V0PDx4LT53aW5uZXI8PCIgIjsgY291dDw8ZW5kbDsgCglyZXR1cm4gMDsKfQ==