#include <iostream>
#include <set>
#include <string>
using namespace std;
class Athlete {
private :
string name;
double time ;
public :
Athlete( ) : name( "" ) , time ( 0 ) { }
Athlete( string n, double t) {
name = n;
time = t;
}
string getName( ) const {
return name;
}
double getTime( ) const {
return time ;
}
bool operator< ( const Athlete& other) const {
if ( time == other.time )
return name < other.name ;
return time < other.time ;
}
} ;
Athlete findFastest( const set< Athlete> & athletes) {
return * athletes.begin ( ) ;
}
void printResults( const set< pair< int , Athlete>> & results,
int startPlace,
int endPlace) {
for ( const auto & p : results) {
if ( p.first >= startPlace && p.first <= endPlace) {
cout << p.first << endl<< p.second .getName ( ) << endl<< p.second .getTime ( )
;
}
}
}
int main( ) {
set< Athlete> athletes;
athletes.insert ( Athlete( "Іван" , 11.2 ) ) ;
athletes.insert ( Athlete( "Петро" , 10.8 ) ) ;
athletes.insert ( Athlete( "Олег" , 12.1 ) ) ;
athletes.insert ( Athlete( "Максим" , 10.5 ) ) ;
for ( const auto & athlete : athletes) {
cout << athlete.getName ( )
<< " - " << athlete.getTime ( )
<< " с\n " ;
}
Athlete fastest = findFastest( athletes) ;
cout << fastest.getName ( )
<< " (" << fastest.getTime ( )
<< " с)\n " ;
set< pair< int , Athlete>> results;
results.insert ( { 1 , Athlete( "Максим" , 10.5 ) } ) ;
results.insert ( { 2 , Athlete( "Петро" , 10.8 ) } ) ;
results.insert ( { 3 , Athlete( "Іван" , 11.2 ) } ) ;
results.insert ( { 4 , Athlete( "Олег" , 12.1 ) } ) ;
printResults( results, 1 , 100 ) ;
int startPlace, endPlace;
cin >> startPlace;
cin >> endPlace;
printResults( results, startPlace, endPlace) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBBdGhsZXRlIHsKcHJpdmF0ZToKICAgIHN0cmluZyBuYW1lOwogICAgZG91YmxlIHRpbWU7IApwdWJsaWM6CiAgICBBdGhsZXRlKCkgOiBuYW1lKCIiKSwgdGltZSgwKSB7fQogICAgQXRobGV0ZShzdHJpbmcgbiwgZG91YmxlIHQpIHsKICAgICAgICBuYW1lID0gbjsKICAgICAgICB0aW1lID0gdDsKICAgIH0KICAgIHN0cmluZyBnZXROYW1lKCkgY29uc3QgewogICAgICAgIHJldHVybiBuYW1lOwogICAgfQoKICAgIGRvdWJsZSBnZXRUaW1lKCkgY29uc3QgewogICAgICAgIHJldHVybiB0aW1lOwogICAgfQoKICAgIGJvb2wgb3BlcmF0b3I8KGNvbnN0IEF0aGxldGUmIG90aGVyKSBjb25zdCB7CiAgICAgICAgaWYgKHRpbWUgPT0gb3RoZXIudGltZSkKICAgICAgICAgICAgcmV0dXJuIG5hbWUgPCBvdGhlci5uYW1lOwogICAgICAgIHJldHVybiB0aW1lIDwgb3RoZXIudGltZTsKICAgIH0KfTsKQXRobGV0ZSBmaW5kRmFzdGVzdChjb25zdCBzZXQ8QXRobGV0ZT4mIGF0aGxldGVzKSB7CiAgICByZXR1cm4gKmF0aGxldGVzLmJlZ2luKCk7Cn0Kdm9pZCBwcmludFJlc3VsdHMoY29uc3Qgc2V0PHBhaXI8aW50LCBBdGhsZXRlPj4mIHJlc3VsdHMsCiAgICAgICAgICAgICAgICAgIGludCBzdGFydFBsYWNlLAogICAgICAgICAgICAgICAgICBpbnQgZW5kUGxhY2UpIHsKIAoKICAgIGZvciAoY29uc3QgYXV0byYgcCA6IHJlc3VsdHMpIHsKICAgICAgICBpZiAocC5maXJzdCA+PSBzdGFydFBsYWNlICYmIHAuZmlyc3QgPD0gZW5kUGxhY2UpIHsKICAgICAgICAgICAgY291dCA8PCBwLmZpcnN0PDxlbmRsPDwgcC5zZWNvbmQuZ2V0TmFtZSgpPDxlbmRsPDwgcC5zZWNvbmQuZ2V0VGltZSgpCiAgICAgICAgICAgICAgICAgOwogICAgICAgIH0KICAgIH0KfQppbnQgbWFpbigpIHsKICAgIHNldDxBdGhsZXRlPiBhdGhsZXRlczsKCiAgICBhdGhsZXRlcy5pbnNlcnQoQXRobGV0ZSgi0IbQstCw0L0iLCAxMS4yKSk7CiAgICBhdGhsZXRlcy5pbnNlcnQoQXRobGV0ZSgi0J/QtdGC0YDQviIsIDEwLjgpKTsKICAgIGF0aGxldGVzLmluc2VydChBdGhsZXRlKCLQntC70LXQsyIsIDEyLjEpKTsKICAgIGF0aGxldGVzLmluc2VydChBdGhsZXRlKCLQnNCw0LrRgdC40LwiLCAxMC41KSk7CgoKICAgIGZvciAoY29uc3QgYXV0byYgYXRobGV0ZSA6IGF0aGxldGVzKSB7CiAgICAgICAgY291dCA8PCBhdGhsZXRlLmdldE5hbWUoKQogICAgICAgICAgICAgPDwgIiAtICIgPDwgYXRobGV0ZS5nZXRUaW1lKCkKICAgICAgICAgICAgIDw8ICIg0YFcbiI7CiAgICB9CgogICAgQXRobGV0ZSBmYXN0ZXN0ID0gZmluZEZhc3Rlc3QoYXRobGV0ZXMpOwoKICAgIGNvdXQgPDwgZmFzdGVzdC5nZXROYW1lKCkKICAgICAgICAgPDwgIiAoIiA8PCBmYXN0ZXN0LmdldFRpbWUoKQogICAgICAgICA8PCAiINGBKVxuIjsKCiAgICBzZXQ8cGFpcjxpbnQsIEF0aGxldGU+PiByZXN1bHRzOwoKICAgIHJlc3VsdHMuaW5zZXJ0KHsxLCBBdGhsZXRlKCLQnNCw0LrRgdC40LwiLCAxMC41KX0pOwogICAgcmVzdWx0cy5pbnNlcnQoezIsIEF0aGxldGUoItCf0LXRgtGA0L4iLCAxMC44KX0pOwogICAgcmVzdWx0cy5pbnNlcnQoezMsIEF0aGxldGUoItCG0LLQsNC9IiwgMTEuMil9KTsKICAgIHJlc3VsdHMuaW5zZXJ0KHs0LCBBdGhsZXRlKCLQntC70LXQsyIsIDEyLjEpfSk7CiAgICBwcmludFJlc3VsdHMocmVzdWx0cywgMSwgMTAwKTsKCiAgICBpbnQgc3RhcnRQbGFjZSwgZW5kUGxhY2U7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgY2luID4+IHN0YXJ0UGxhY2U7CgogICAgY2luID4+IGVuZFBsYWNlOwoKICAgIHByaW50UmVzdWx0cyhyZXN1bHRzLCBzdGFydFBsYWNlLCBlbmRQbGFjZSk7CgogICAgcmV0dXJuIDA7Cn0=