Submission #1021485

#TimeUsernameProblemLanguageResultExecution timeMemory
1021485j_vdd16Packing Biscuits (IOI20_biscuits)C++17
Compilation error
0 ms0 KiB
#include <algorithm> #include <bitset> #include <cstdint> #include <cstring> #include <iostream> #include <limits.h> #include <math.h> #include <map> #include <numeric> #include <queue> #include <set> #include <stack> #include <string> #include <vector> #define int long long #define ll long long #define loop(X, N) for(int X = 0; X < (N); X++) #define all(V) V.begin(), V.end() #define rall(V) V.rbegin(), V.rend() using namespace std; typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, int> ii; typedef vector<ii> vii; typedef vector<vector<ii>> vvii; typedef vector<bool> vb; typedef vector<vector<bool>> vvb; int count_tastiness(int x, vi a) { constexpr int N = a.size(); for (int i = 1; i < N; i++) a[i] *= (1LL << i); vi values = { 0 }; for (int bit = 0; bit < N; bit++) { int sz = values.size(); loop(i, sz) { int& count = values[i]; count += a[bit]; if (count / (1LL << bit) >= x) values.push_back(count - x * (1LL << bit)); } } return values.size(); }

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, vi)':
biscuits.cpp:35:26: error: call to non-'constexpr' function 'std::vector<_Tp, _Alloc>::size_type std::vector<_Tp, _Alloc>::size() const [with _Tp = long long int; _Alloc = std::allocator<long long int>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
   35 |  constexpr int N = a.size();
      |                    ~~~~~~^~
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/functional:62,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from biscuits.cpp:1:
/usr/include/c++/10/bits/stl_vector.h:918:7: note: 'std::vector<_Tp, _Alloc>::size_type std::vector<_Tp, _Alloc>::size() const [with _Tp = long long int; _Alloc = std::allocator<long long int>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]' declared here
  918 |       size() const _GLIBCXX_NOEXCEPT
      |       ^~~~