#include <iostream>
#include <string>
using namespace std;
class Movie {
public:
Movie(string movieTitle);
void SetVotes(int numUpVotes, int numDownVotes) {
upVotes = numUpVotes;
downVotes = numDownVotes;
}
string GetTitle() const { return title; }
int GetVoteDifference() const { return upVotes - downVotes; }
private:
string title;
int upVotes;
int downVotes;
};
Movie::Movie(string movieTitle) {
title = movieTitle;
upVotes = 0;
downVotes = 0;
}
bool operator<(const Movie& movie1, const Movie& movie2) {
return movie1.GetVoteDifference() < movie2.GetVoteDifference();
}
int main() {
Movie movie1("Frozen");
Movie movie2("Drive");
movie1.SetVotes(9, 6);
movie2.SetVotes(13, 5);
if (movie1 < movie2) {
cout << movie1.GetTitle() << " is worse." << endl;
}
else if (movie2 < movie1) {
cout << movie2.GetTitle() << " is worse." << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgTW92aWUgewpwdWJsaWM6CiAgIE1vdmllKHN0cmluZyBtb3ZpZVRpdGxlKTsKICAgdm9pZCBTZXRWb3RlcyhpbnQgbnVtVXBWb3RlcywgaW50IG51bURvd25Wb3RlcykgewogICAgICB1cFZvdGVzID0gbnVtVXBWb3RlczsKICAgICAgZG93blZvdGVzID0gbnVtRG93blZvdGVzOwogICB9CiAgIHN0cmluZyBHZXRUaXRsZSgpIGNvbnN0IHsgcmV0dXJuIHRpdGxlOyB9CiAgIGludCBHZXRWb3RlRGlmZmVyZW5jZSgpIGNvbnN0IHsgcmV0dXJuIHVwVm90ZXMgLSBkb3duVm90ZXM7IH0KCnByaXZhdGU6CiAgIHN0cmluZyB0aXRsZTsKICAgaW50IHVwVm90ZXM7CiAgIGludCBkb3duVm90ZXM7Cn07CgpNb3ZpZTo6TW92aWUoc3RyaW5nIG1vdmllVGl0bGUpIHsKICAgdGl0bGUgPSBtb3ZpZVRpdGxlOwogICB1cFZvdGVzID0gMDsKICAgZG93blZvdGVzID0gMDsKfQoKYm9vbCBvcGVyYXRvcjwoY29uc3QgTW92aWUmIG1vdmllMSwgY29uc3QgTW92aWUmIG1vdmllMikgewogICByZXR1cm4gbW92aWUxLkdldFZvdGVEaWZmZXJlbmNlKCkgPCBtb3ZpZTIuR2V0Vm90ZURpZmZlcmVuY2UoKTsKfQoKaW50IG1haW4oKSB7CiAgIE1vdmllIG1vdmllMSgiRnJvemVuIik7CiAgIE1vdmllIG1vdmllMigiRHJpdmUiKTsKCiAgIG1vdmllMS5TZXRWb3Rlcyg5LCA2KTsKICAgbW92aWUyLlNldFZvdGVzKDEzLCA1KTsKCiAgIGlmIChtb3ZpZTEgPCBtb3ZpZTIpIHsKICAgICAgY291dCA8PCBtb3ZpZTEuR2V0VGl0bGUoKSA8PCAiIGlzIHdvcnNlLiIgPDwgZW5kbDsKICAgfSAKICAgZWxzZSBpZiAobW92aWUyIDwgbW92aWUxKSB7CiAgICAgICBjb3V0IDw8IG1vdmllMi5HZXRUaXRsZSgpIDw8ICIgaXMgd29yc2UuIiA8PCBlbmRsOwogICB9CgogICByZXR1cm4gMDsKfQ==