제출 #621670

#제출 시각아이디문제언어결과실행 시간메모리
621670MinaRagy06순열 (APIO22_perm)C++17
91.33 / 100
4 ms368 KiB
#include <bits/stdc++.h> #include "perm.h" // #include "grader.cpp" using namespace std; #define lesgooo ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0) #define endl '\n' vector<int> add(vector<int>&a, int ii, int num) { vector<int> ret(a.size()+1); int ptr = 0; for (int i = 0; i < ret.size(); i++) { if (i == ii) ret[i] = num; else ret[i] = a[ptr], ptr++; } return ret; } vector<int> construct_permutation(long long k) { int ans = 0; for (int i = 0; i <= 63; i++) if (!(k>>i)) {ans = i-1; break;} k-=((1ll<<ans)); vector<int> a(ans); for (int i = 0; i < ans; i++) a[i]=i; int toAdd = ans; while (k) { ans = 0; for (int i = 0; i <= 63; i++) if (!(k>>i)) {ans = i-1; break;} k-=(1ll<<ans); a = add(a, ans, toAdd), toAdd++; } return a; }

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

perm.cpp: In function 'std::vector<int> add(std::vector<int>&, int, int)':
perm.cpp:12:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |  for (int i = 0; i < ret.size(); i++)
      |                  ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...