Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector<string> split_string(string);
- // Complete the kangaroo function below.
- string kangaroo(int x1, int v1, int x2, int v2) {
- int flag = 1;
- map<int,int> m;
- m[x1] = v1;
- m[x2] = v2;
- map<int,int>::iterator it;
- it = m.begin();
- it++;
- int first = m.begin()->first;
- int second = it->first;
- int min = second-first;
- while(flag ==1)
- {
- map<int,int>::iterator it2;
- it2 = m.begin();
- it++;
- first +=m.begin()->second;
- second +=it2->second;
- if(first==second)
- {
- cout<<"hii";
- return "YES";
- flag = 0;
- }
- cout<<min<<endl;
- min = second -first;
- if(min<0)
- {
- cout<<"bye";
- return "NO";
- flag = 0;
- }
- }
- return "dummy";
- }
- int main()
- {
- ofstream fout(getenv("OUTPUT_PATH"));
- string x1V1X2V2_temp;
- getline(cin, x1V1X2V2_temp);
- vector<string> x1V1X2V2 = split_string(x1V1X2V2_temp);
- int x1 = stoi(x1V1X2V2[0]);
- int v1 = stoi(x1V1X2V2[1]);
- int x2 = stoi(x1V1X2V2[2]);
- int v2 = stoi(x1V1X2V2[3]);
- string result = kangaroo(x1, v1, x2, v2);
- fout << result << "\n";
- fout.close();
- return 0;
- }
- vector<string> split_string(string input_string) {
- string::iterator new_end = unique(input_string.begin(), input_string.end(), [] (const char &x, const char &y) {
- return x == y and x == ' ';
- });
- input_string.erase(new_end, input_string.end());
- while (input_string[input_string.length() - 1] == ' ') {
- input_string.pop_back();
- }
- vector<string> splits;
- char delimiter = ' ';
- size_t i = 0;
- size_t pos = input_string.find(delimiter);
- while (pos != string::npos) {
- splits.push_back(input_string.substr(i, pos - i));
- i = pos + 1;
- pos = input_string.find(delimiter, i);
- }
- splits.push_back(input_string.substr(i, min(pos, input_string.length()) - i + 1));
- return splits;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement