Your browser is not supported. Please, update your browser or switch to a different one. Learn more about which browsers are supported.
Task description
There are N rectangles numbered from 0 to N-1. The K-th rectangle has size A[K] × B[K].
We want to arrange as many rectangles as possible into a strip. The rectangles can be arranged into a strip if they all share a side of the same length (which becomes the height of the strip). Note that rectangles can be rotated.
Write a function:
int solution(vector<int> &A, vector<int> &B);
that, given two arrays A and B of N integers each, returns the maximum number of rectangles that can be arranged into a strip.
Examples:
1. Given A = [2, 3, 2, 3, 5] and B = [3, 4, 2, 4, 2], the function should return 3. Choosing the 0th, 2nd and 4th rectangles we can obtain the following strip of height 2 (note that the 0th rectangle was rotated):
We can also choose the 0th, 1st and 3rd rectangles to obtain a strip of height 3. Here we have rotated 1st and 3rd rectangles:
2. Given A = [2, 3, 1, 3] and B = [2, 3, 1, 3], the function should return 2. We can choose the 1st and 3rd rectangles:
3. Given A = [2, 10, 4, 1, 4] and B = [4, 1, 2, 2, 5], the function should return 3. We can choose the 0th, 2nd and 4th rectangles to obtain a strip of height 4:
Write an efficient algorithm for the following assumptions:
- N is an integer within the range [1..100,000];
- arrays A and B both consist of N integers;
- each element of arrays A and B is an integer within the range [1..1,000,000,000].
Task timeline
// you can use includes, for example:
// #include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
vector<int> helper;
for (int i = 0; i < m; i++) {
helper[]
}
}
// you can use includes, for example:
// #include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
vector<int> helper;
for (int i = 0; i < m; i++) {
helper[i] = max(A[i], B[i]);
}
}
// you can use includes, for example:
// #include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
vector<int> maxVec, minVec;
for (int i = 0; i < m; i++) {
maxVec[i] = max(A[i], B[i]);
minVec[i] = max(A[i], B[i]);
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
vector<int> maxVec, minVec;
for (int i = 0; i < m; i++) {
maxVec[i] = max(A[i], B[i]);
minVec[i] = min(A[i], B[i]);
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
vector<int> maxVec, minVec;
for (int i = 0; i < m; i++) {
maxVec[i] = max(A[i], B[i]);
minVec[i] = min(A[i], B[i]);
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
vector<int> maxVec, minVec;
for (int i = 0; i < m; i++) {
maxVec[i] = max(A[i], B[i]);
minVec[i] = min(A[i], B[i]);
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
vector<int> freqs(m + m);
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++l
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m)
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair());
}
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](){});
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
});
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int ans = 0;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin().second;
int ans = 0;
for (auto p = )
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin().second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (p.first == pic || p.second == pi)
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin().second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:10:5: error: 'unordered_map' was not declared in this scope unordered_map<int,int> freqs; ^~~~~~~~~~~~~ func.cpp:10:19: error: expected primary-expression before 'int' unordered_map<int,int> freqs; ^~~ func.cpp:12:9: error: 'freqs' was not declared in this scope freqs[n]++; ^~~~~ func.cpp:14:9: error: 'freqs' was not declared in this scope freqs[n]++; ^~~~~ func.cpp:19:10: error: 'freqs' was not declared in this scope sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){ ^~~~~ func.cpp:25:15: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'first' if (p.first == pic || p.second == pic) ^~~~~ func.cpp:25:33: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'second' if (p.first == pic || p.second == pic) ^~~~~~
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin().second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:22:29: error: 'std::unordered_map<int, int>::iterator {aka struct std::__detail::_Node_iterator<std::pair<const int, int>, false, false>}' has no member named 'second' int pic = freqs.begin().second; ^~~~~~ func.cpp:25:15: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'first' if (p.first == pic || p.second == pic) ^~~~~ func.cpp:25:33: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'second' if (p.first == pic || p.second == pic) ^~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/algorithm:62:0, from func.cpp:2: /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)> >]': /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:4739:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)>]' func.cpp:21:6: required from here /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:1966:22: error: no match for 'operator-' (operand types are 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' and 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>') std::__lg(__last - __first) * 2, ~~~~~~~^~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:67:0,
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()-second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:25:15: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'first' if (p.first == pic || p.second == pic) ^~~~~ func.cpp:25:33: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'second' if (p.first == pic || p.second == pic) ^~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/algorithm:62:0, from func.cpp:2: /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)> >]': /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:4739:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)>]' func.cpp:21:6: required from here /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:1966:22: error: no match for 'operator-' (operand types are 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' and 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>') std::__lg(__last - __first) * 2, ~~~~~~~^~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:67:0, from /opt/lang/gcc/include/c++/6.2.0/bits/char_traits.h:39, from /opt/lang/gcc/include/c++/6.2.0/string:40, from solution.cpp:3: /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:328:5: note: candidate: templa
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (*p.first == pic || *p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:25:16: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'first' if (*p.first == pic || *p.second == pic) ^~~~~ func.cpp:25:35: error: 'class __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' has no member named 'second' if (*p.first == pic || *p.second == pic) ^~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/algorithm:62:0, from func.cpp:2: /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)> >]': /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:4739:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)>]' func.cpp:21:6: required from here /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:1966:22: error: no match for 'operator-' (operand types are 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' and 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>') std::__lg(__last - __first) * 2, ~~~~~~~^~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:67:0, from /opt/lang/gcc/include/c++/6.2.0/bits/char_traits.h:39, from /opt/lang/gcc/include/c++/6.2.0/string:40, from solution.cpp:3: /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:328:5: note: candidate:
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (p.first == pic || *p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (p->first == pic || p->second == pic)
ans++;
}
return ans;
}
In file included from /opt/lang/gcc/include/c++/6.2.0/algorithm:62:0, from func.cpp:2: /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)> >]': /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:4739:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)>]' func.cpp:21:6: required from here /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:1966:22: error: no match for 'operator-' (operand types are 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' and 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>') std::__lg(__last - __first) * 2, ~~~~~~~^~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:67:0, from /opt/lang/gcc/include/c++/6.2.0/bits/char_traits.h:39, from /opt/lang/gcc/include/c++/6.2.0/string:40, from solution.cpp:3: /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:328:5: note: candidate: template<class _Iterator> typename std::reverse_iterator<_Iterator>::difference_type std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator-(const reverse_iterator<_Iterator>& __x, ^~~~~~~~ /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:328:5: note: template argument deduction/substitution failed: In file included from /opt/lang/gcc/include/c++/6.2.0/algorithm:62:0, from func.cpp:2: /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:1966:22: note
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (auto p = vec.begin(); p != vec.end(); p++) {
if (*p->first == pic || *p->second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
if (*p->first == pic || *p->second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[0];
if (*p->first == pic || *p->second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[0];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:24:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < vec.size(); i++) { ~~^~~~~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/algorithm:62:0, from func.cpp:2: /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)> >]': /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:4739:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)>]' func.cpp:21:6: required from here /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:1966:22: error: no match for 'operator-' (operand types are 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' and 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>') std::__lg(__last - __first) * 2, ~~~~~~~^~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:67:0, from /opt/lang/gcc/include/c++/6.2.0/bits/char_traits.h:39, from /opt/lang/gcc/include/c++/6.2.0/string:40, from solution.cpp:3: /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:328:5: note: candidate: template<class _Iterator> typename std::reverse_iterator<_Iterator>::difference_type std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator-(const reverse_iterator<_Iterator>& __x, ^~~~~~~~ /opt/lang/gcc/include/c+
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:24:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < vec.size(); i++) { ~~^~~~~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/algorithm:62:0, from func.cpp:2: /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h: In instantiation of 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)> >]': /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:4739:18: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = std::__detail::_Node_iterator<std::pair<const int, int>, false, false>; _Compare = solution(std::vector<int>&, std::vector<int>&)::<lambda(std::pair<int, int>, std::pair<int, int>)>]' func.cpp:21:6: required from here /opt/lang/gcc/include/c++/6.2.0/bits/stl_algo.h:1966:22: error: no match for 'operator-' (operand types are 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' and 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>') std::__lg(__last - __first) * 2, ~~~~~~~^~~~~~~~~ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:67:0, from /opt/lang/gcc/include/c++/6.2.0/bits/char_traits.h:39, from /opt/lang/gcc/include/c++/6.2.0/string:40, from solution.cpp:3: /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:328:5: note: candidate: template<class _Iterator> typename std::reverse_iterator<_Iterator>::difference_type std::operator-(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator-(const reverse_iterator<_Iterator>& __x, ^~~~~~~~ /opt/lang/gcc/include/c+
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end())
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it->first, it->second>);
}
sort(freqs.begin(), freqs.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it->first, it->second>);
}
sort(req_vec.begin(), req_vec.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = freqs.begin()->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it->first, it->second>);
}
sort(req_vec.begin(), req_vec.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = req_vec[0]->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:21:39: error: call to non-constexpr function 'std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::pointer std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::operator->() const [with _Value = std::pair<const int, int>; bool __constant_iterators = false; bool __cache = false; std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::pointer = std::pair<const int, int>*]' req_vec.push_back(make_pair<it->first, it->second>); ^~ func.cpp:21:50: error: call to non-constexpr function 'std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::pointer std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::operator->() const [with _Value = std::pair<const int, int>; bool __constant_iterators = false; bool __cache = false; std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::pointer = std::pair<const int, int>*]' req_vec.push_back(make_pair<it->first, it->second>); ^~ func.cpp:21:59: error: no matching function for call to 'std::vector<std::pair<int, int> >::push_back(<unresolved overloaded function type>)' req_vec.push_back(make_pair<it->first, it->second>); ^ In file included from /opt/lang/gcc/include/c++/6.2.0/vector:64:0, from solution.cpp:8: /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:914:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::value_type = std::pair<int, int>] push_back(const value_type& __x) ^~~~~~~~~ /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:914:7: note: no known conversion for argument 1 from '<unresolved overloaded function type>' to 'const value_type& {aka const std::pair<int,
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it.first, it.second>);
}
sort(req_vec.begin(), req_vec.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = req_vec[0]->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:21:40: error: 'struct std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' has no member named 'first' req_vec.push_back(make_pair<it.first, it.second>); ^~~~~ func.cpp:21:50: error: 'struct std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' has no member named 'second' req_vec.push_back(make_pair<it.first, it.second>); ^~~~~~ func.cpp:21:57: error: no matching function for call to 'std::vector<std::pair<int, int> >::push_back(<unresolved overloaded function type>)' req_vec.push_back(make_pair<it.first, it.second>); ^ In file included from /opt/lang/gcc/include/c++/6.2.0/vector:64:0, from solution.cpp:8: /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:914:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::value_type = std::pair<int, int>] push_back(const value_type& __x) ^~~~~~~~~ /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:914:7: note: no known conversion for argument 1 from '<unresolved overloaded function type>' to 'const value_type& {aka const std::pair<int, int>&}' /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:932:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::value_type = std::pair<int, int>] push_back(value_type&& __x) ^~~~~~~~~ /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:932:7: note: no known conversion for argument 1 from '<unresolved overloaded function type>' to 'std::vector<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}' func.cpp:26:25:
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it-first, it.second>);
}
sort(req_vec.begin(), req_vec.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = req_vec[0]->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it->first, it.second>);
}
sort(req_vec.begin(), req_vec.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = req_vec[0]->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
func.cpp: In function 'int solution(std::vector<int>&, std::vector<int>&)': func.cpp:21:39: error: call to non-constexpr function 'std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::pointer std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::operator->() const [with _Value = std::pair<const int, int>; bool __constant_iterators = false; bool __cache = false; std::__detail::_Node_iterator<_Value, __constant_iterators, __cache>::pointer = std::pair<const int, int>*]' req_vec.push_back(make_pair<it->first, it.second>); ^~ func.cpp:21:51: error: 'struct std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' has no member named 'second' req_vec.push_back(make_pair<it->first, it.second>); ^~~~~~ func.cpp:21:58: error: no matching function for call to 'std::vector<std::pair<int, int> >::push_back(<unresolved overloaded function type>)' req_vec.push_back(make_pair<it->first, it.second>); ^ In file included from /opt/lang/gcc/include/c++/6.2.0/vector:64:0, from solution.cpp:8: /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:914:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::value_type = std::pair<int, int>] push_back(const value_type& __x) ^~~~~~~~~ /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:914:7: note: no known conversion for argument 1 from '<unresolved overloaded function type>' to 'const value_type& {aka const std::pair<int, int>&}' /opt/lang/gcc/include/c++/6.2.0/bits/stl_vector.h:932:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >; std::vector<_Tp, _Alloc>::value_type = std::pair<int,
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it->first, it.second>);
}
sort(req_vec.begin(), req_vec.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = req_vec[0]->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
vector<pair<int,int>> req_vec;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
req_vec.push_back(make_pair<it->first, it.second>);
}
sort(req_vec.begin(), req_vec.end(), [&](pair<int, int>a, pair<int,int> b){
return b.second > a.second;
});
int pic = req_vec[0]->second;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxF);
}
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == maxFreq || p.second == maxFreq)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
c
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == maxFreq || p.second == maxFreq)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
cout << maxFreq << endl;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == maxFreq || p.second == maxFreq)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
cout << " == " << maxFreq << endl;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == maxFreq || p.second == maxFreq)
ans++;
}
return ans;
}
== 4
== 4
== 3
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int
cout << " == " << maxFreq << endl;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == maxFreq || p.second == maxFreq)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int pic = 0;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
cout << " == " << maxFreq << endl;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == maxFreq || p.second == maxFreq)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int pic = 0;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
if (it->second == maxFreq) {
pic = it->first;
break;
}
}
cout << " == " << maxFreq << endl;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == maxFreq || p.second == maxFreq)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int pic = 0;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
if (it->second == maxFreq) {
pic = it->first;
break;
}
}
cout << " == " << maxFreq << endl;
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
== 4
== 4
== 3
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int pic = 0;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
if (it->second == maxFreq) {
pic = it->first;
break;
}
}
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
// you can use includes, for example:
#include <algorithm>
#include <unordered_map>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A, vector<int> &B) {
// write your code in C++14 (g++ 6.2.0)
const int m = A.size();
unordered_map<int,int> freqs;
int maxFreq = 0;
for (auto n: A)
freqs[n]++;
for (auto n: B)
freqs[n]++;
vector<pair<int,int> > vec;
for (int i = 0; i < m; i++) {
vec.push_back(make_pair(A[i], B[i]));
}
for (auto it = freqs.begin(); it != freqs.end(); it++) {
maxFreq = max(maxFreq, it->second);
}
int pic = 0;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
if (it->second == maxFreq) {
pic = it->first;
break;
}
}
int ans = 0;
for (int i = 0; i < vec.size(); i++) {
pair<int,int> p = vec[i];
if (p.first == pic || p.second == pic)
ans++;
}
return ans;
}
The solution obtained perfect score.