You are viewing a single comment's thread. Return to all comments →
using namespace std;
string ltrim(const string &); string rtrim(const string &); vector split(const string &);
// Complete the freqQuery function below. vector freqQuery(vector> queries) {
map m; map m1; vector v; for(int i=0;i
if(queries[i][0]==1) { m[queries[i][1]]++; m1[m[queries[i][1]]]++; } else if(queries[i][0]==2) { auto f=m.find(queries[i][1]); if(f!=m.end()) { m[queries[i][1]]--; m1[m[queries[i][1]]]--; } } else if(queries[i][0]==3) { int flag=0; auto f=m1.find(queries[i][1]); if(f!=m1.end()) { if(f->second>0) flag=1; } if(flag==0) v.push_back(0); else v.push_back(1); } } return v;
}
int main() { ofstream fout(getenv("OUTPUT_PATH"));
string q_temp; getline(cin, q_temp); int q = stoi(ltrim(rtrim(q_temp))); vector<vector<int>> queries(q); for (int i = 0; i < q; i++) { queries[i].resize(2); string queries_row_temp_temp; getline(cin, queries_row_temp_temp); vector<string> queries_row_temp = split(rtrim(queries_row_temp_temp)); for (int j = 0; j < 2; j++) { int queries_row_item = stoi(queries_row_temp[j]); queries[i][j] = queries_row_item; } } vector<int> ans = freqQuery(queries); for (int i = 0; i < ans.size(); i++) { fout << ans[i]; if (i != ans.size() - 1) { fout << "\n"; } } fout << "\n"; fout.close(); return 0;
string ltrim(const string &str) { string s(str);
s.erase( s.begin(), find_if(s.begin(), s.end(), not1(ptr_fun<int, int>(isspace))) ); return s;
string rtrim(const string &str) { string s(str);
s.erase( find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(), s.end() ); return s;
vector split(const string &str) { vector tokens;
string::size_type start = 0; string::size_type end = 0; while ((end = str.find(" ", start)) != string::npos) { tokens.push_back(str.substr(start, end - start)); start = end + 1; } tokens.push_back(str.substr(start)); return tokens;
Seems like cookies are disabled on this browser, please enable them to open this website
Frequency Queries
You are viewing a single comment's thread. Return to all comments →
include
using namespace std;
string ltrim(const string &); string rtrim(const string &); vector split(const string &);
// Complete the freqQuery function below. vector freqQuery(vector> queries) {
map m; map m1; vector v; for(int i=0;i
}
int main() { ofstream fout(getenv("OUTPUT_PATH"));
}
string ltrim(const string &str) { string s(str);
}
string rtrim(const string &str) { string s(str);
}
vector split(const string &str) { vector tokens;
}