Submission #639298

#TimeUsernameProblemLanguageResultExecution timeMemory
639298_fractalRack (eJOI19_rack)C++14
Compilation error
0 ms0 KiB
/** * author: fractal * timus: 288481RF **/ #include <bits/stdc++.h> using namespace std; #define F first #define S second #define mp make_pair #define pb push_back #define pf push_front #define ppb pop_back #define ppf pop_front #define speed ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0) #define sz(x) (int)x.size() #define len(x) (int)strlen(x) #define all(x) x.begin(), x.end() #define debug cerr << "OK\n"; #define ub upper_bound #define lb lower_bound #define make_unique(x) sort(all(x)), x.erase(unique(all(x)), x.end()) mt19937 bruh(chrono::steady_clock::now().time_since_epoch().count()); mt19937_64 rofl(chrono::steady_clock::now().time_since_epoch().count()); typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<pii> vpii; typedef vector<pll> vpll; typedef set<int> si; typedef set<ll> sll; typedef set<pii> spii; typedef set<pll> spll; typedef multiset <int> msi; typedef multiset <ll> msll; typedef map <int, int> mi; typedef map <ll, ll> mll; const int N = 1e6 + 2; const int M = 1e5; const int mod = 1e9 + 7; const int inf = 2e9 + 3; const ll INF = 1e18; const ld pi2 = 2.0 * 3.141592653589793; const ld pi = 3.141592653589793; const ld eps = 1e-12; const int dx[4] = {1, -1, 0, 0}; const int dy[4] = {0, 0, -1, 1}; #ifndef PC #define gcd __gcd #endif void files(string s = "main") { #ifndef PC freopen((s + ".in").c_str(), "r", stdin); freopen((s + ".out").c_str(), "w", stdout); #endif } int add(int a, int b) { if (a + b < 0) return a + b + mod; if (a + b >= mod) return a + b - mod; return a + b; } int mul(int a, int b) { return a * 1LL * b % mod; } int binpow(int a, int n) { int ret = 1; while (n) { if (n & 1) ret = mul(ret, a); a = mul(a, a); n >>= 1; } return ret; } ll n, k, ans, pw[N]; int main() { speed; cin >> n >> k; pw[0] = 1; for (int i = 1; i <= n; ++i) pw[i] = mul(pw[i - 1], 2); k = k - 1; for (int i = 0; i < min(62, n); ++i) { if ((k >> i) & 1) ans = add(ans, pw[n - i - 1]); } ans = add(ans, 1); cout << ans << '\n'; }

Compilation message (stderr)

rack.cpp: In function 'int main()':
rack.cpp:98:34: error: no matching function for call to 'min(int, ll&)'
   98 |     for (int i = 0; i < min(62, n); ++i) {
      |                                  ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from rack.cpp:6:
/usr/include/c++/10/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
rack.cpp:98:34: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'll' {aka 'long long int'})
   98 |     for (int i = 0; i < min(62, n); ++i) {
      |                                  ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from rack.cpp:6:
/usr/include/c++/10/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
rack.cpp:98:34: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'll' {aka 'long long int'})
   98 |     for (int i = 0; i < min(62, n); ++i) {
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from rack.cpp:6:
/usr/include/c++/10/bits/stl_algo.h:3468:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3468 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3468:5: note:   template argument deduction/substitution failed:
rack.cpp:98:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   98 |     for (int i = 0; i < min(62, n); ++i) {
      |                                  ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from rack.cpp:6:
/usr/include/c++/10/bits/stl_algo.h:3474:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3474 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3474:5: note:   template argument deduction/substitution failed:
rack.cpp:98:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   98 |     for (int i = 0; i < min(62, n); ++i) {
      |                                  ^
rack.cpp: In function 'void files(std::string)':
rack.cpp:64:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   64 |         freopen((s + ".in").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rack.cpp:65:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   65 |         freopen((s + ".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~