제출 #999707

#제출 시각아이디문제언어결과실행 시간메모리
999707HasanV11010238Rack (eJOI19_rack)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define mod 1000000007 ll binpow(ll a, ll b){ ll res = 1; if (b == -1){ return 0; } while (b != 0){ if (b % 2 == 0){ b /= 2; a *= a; if (a >= mod){ am++; } a %= mod; } else{ b -= 1; res *= a; if (res >= mod){ am++; } res %= mod; } } return res; } vector<vector<ll>> ve; ll ans = 1; ll f(ll n, ll k, ll va){ ll val = 0; if (n == 0){ return 0; } if (n <= 63){ ll op = pow(2, n - 1); if (k >= op){ val += binpow(2, va); ve.push_back({n - 1, k - op, va + 1}); ans += val; return 0; } } ve.push_back({n - 1, k, va + 1}); return 0; } int main(){ ll n, k; cin>>n>>k; k--; ve.push_back({n, k, 0}); for (int i = 0; i < ve.size(); i++){ f(ve[i][0], ve[i][1], ve[i][2]); ans %= mod; } cout<<ans; }

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

rack.cpp: In function 'long long int binpow(long long int, long long int)':
rack.cpp:15:17: error: 'am' was not declared in this scope; did you mean 'a'?
   15 |                 am++;
      |                 ^~
      |                 a
rack.cpp:23:17: error: 'am' was not declared in this scope; did you mean 'a'?
   23 |                 am++;
      |                 ^~
      |                 a
rack.cpp: In function 'int main()':
rack.cpp:54:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |     for (int i = 0; i < ve.size(); i++){
      |                     ~~^~~~~~~~~~~