답안 #336913

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
336913 2020-12-17T09:09:06 Z boykut 별들과 삼각형 (IZhO11_triangle) C++14
컴파일 오류
0 ms 0 KB
#include <map>
#include <iostream>

using namespace std;

struct point {
  int64_t x, y;
};

map < int64_t, int64_t > ox;
map < int64_t, int64_t > oy;

//ifstream cin("triangles.in");
//ofstream cout("triangles.out");

int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  point a[n];
  for (int i = 0; i < n; i++) {
    cin >> a[i].x >> a[i].y;
    ox[a[i].x]++;
    oy[a[i].y]++;
  }
  int64_t res = 0;
  for (int i = 0; i < n; i++) {
    res += max(0ll, (ox[a[i].x] - 1) * (ox[a[i].y] - 1));
  }
  cout << res << '\n';
  return 0;
}

Compilation message

triangle.cpp: In function 'int32_t main()':
triangle.cpp:29:56: error: no matching function for call to 'max(long long int, std::map<long int, long int>::mapped_type)'
   29 |     res += max(0ll, (ox[a[i].x] - 1) * (ox[a[i].y] - 1));
      |                                                        ^
In file included from /usr/include/c++/9/bits/stl_tree.h:63,
                 from /usr/include/c++/9/map:60,
                 from triangle.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
triangle.cpp:29:56: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'std::map<long int, long int>::mapped_type' {aka 'long int'})
   29 |     res += max(0ll, (ox[a[i].x] - 1) * (ox[a[i].y] - 1));
      |                                                        ^
In file included from /usr/include/c++/9/bits/stl_tree.h:63,
                 from /usr/include/c++/9/map:60,
                 from triangle.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
triangle.cpp:29:56: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'std::map<long int, long int>::mapped_type' {aka 'long int'})
   29 |     res += max(0ll, (ox[a[i].x] - 1) * (ox[a[i].y] - 1));
      |                                                        ^