Submission #737030

#TimeUsernameProblemLanguageResultExecution timeMemory
737030jk410Present (RMI21_present)C++17
8 / 100
1 ms452 KiB
#include <bits/stdc++.h> using namespace std; int T; const int N = 8; int gcd(int x, int y) { while (y) { int tmp = x % y; x = y; y = tmp; } return x; } bool check(int x) { vector<int> v; for (int i = 0; i < N; i++) { if (x & (1 << i)) v.push_back(i + 1); } int sz = (int)v.size(); for (int i = 0; i < sz; i++) { for (int j = i + 1; j < sz; j++) { if (!(x & (1 << gcd(v[i], v[j]) - 1))) return false; } } return true; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); vector<int> v; v.push_back(0); for (int i = 1; i < (1 << N); i++) { if (check(i)) v.push_back(i); } cin >> T; while (T--) { int k; cin >> k; k = v[k]; vector<int> ans; for (int i = 0; i < N; i++) { if (k & (1 << i)) ans.push_back(i + 1); } cout << (int)ans.size() << " "; for (int i : ans) cout << i << " "; cout << "\n"; } return 0; }

Compilation message (stderr)

Main.cpp: In function 'bool check(int)':
Main.cpp:22:36: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   22 |    if (!(x & (1 << gcd(v[i], v[j]) - 1)))
      |                    ~~~~~~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...