제출 #530843

#제출 시각아이디문제언어결과실행 시간메모리
530843M1v1savvaArranging Shoes (IOI19_shoes)C++17
컴파일 에러
0 ms0 KiB
#include "shoes.h" #include <bits/stdc++.h> #define sz(x) (int)(x).size() #define forn(i, x) for (int i = 0; i < (int)x; i++) #define pb push_back #define rforn(i, x) for (int i = (int)x - 1; i >= 0; i--) #define pii pair<int, int> #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define ff first #define ss second using namespace std; template<class T> void print(T a) { for (auto x : a) cout << x << ' '; cout << endl; } //signed main() { //freopen("test.txt", "r", stdin); // int n; // cin >> n; // vector<int> a(n * 2); // forn (i, n * 2) // cin >> a[i]; long long count_swaps(int S[]) { vector<int> a; int n = size(S) / 2; forn (i, 2 * n) a.pb(S[i]); map<int, int> scores; map<int, int> prev; long long ans = 0; forn (i, 2 * n) { int val = a[i]; scores[abs(val)]++; if (scores[abs(val)] % 2 == 0) { ans += i - prev[abs(val)]; if (val > 0) ans--; } else { prev[abs(val)] = i; } } return ans; //cout << ans << '\n'; //return 0; }

컴파일 시 표준 에러 (stderr) 메시지

shoes.cpp: In function 'long long int count_swaps(int*)':
shoes.cpp:33:16: error: no matching function for call to 'size(int*&)'
   33 |  int n = size(S) / 2;
      |                ^
In file included from /usr/include/c++/10/vector:69,
                 from shoes.h:5,
                 from shoes.cpp:1:
/usr/include/c++/10/bits/range_access.h:245:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  245 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
/usr/include/c++/10/bits/range_access.h:245:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&) [with _Container = int*]':
shoes.cpp:33:16:   required from here
/usr/include/c++/10/bits/range_access.h:246:24: error: request for member 'size' in '__cont', which is of non-class type 'int* const'
  246 |     -> decltype(__cont.size())
      |                 ~~~~~~~^~~~
/usr/include/c++/10/bits/range_access.h:254:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  254 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/10/bits/range_access.h:254:5: note:   template argument deduction/substitution failed:
shoes.cpp:33:16: note:   mismatched types 'const _Tp [_Nm]' and 'int*'
   33 |  int n = size(S) / 2;
      |                ^