From 95422138588572e08a1ee78e654741874f11cfa0 Mon Sep 17 00:00:00 2001 From: omagdy7 Date: Thu, 10 Nov 2022 16:05:26 +0200 Subject: Added some new problems --- contests/Round#828/C/main | Bin 0 -> 51696 bytes contests/Round#828/C/main.cpp | 48 ++++++++++++++++++++++++++++++++++ contests/Round#828/C/main_input0.txt | 13 +++++++++ contests/Round#828/C/main_output0.txt | 6 +++++ 4 files changed, 67 insertions(+) create mode 100755 contests/Round#828/C/main create mode 100644 contests/Round#828/C/main.cpp create mode 100644 contests/Round#828/C/main_input0.txt create mode 100644 contests/Round#828/C/main_output0.txt (limited to 'contests/Round#828/C') diff --git a/contests/Round#828/C/main b/contests/Round#828/C/main new file mode 100755 index 0000000..6931c26 Binary files /dev/null and b/contests/Round#828/C/main differ diff --git a/contests/Round#828/C/main.cpp b/contests/Round#828/C/main.cpp new file mode 100644 index 0000000..a69f265 --- /dev/null +++ b/contests/Round#828/C/main.cpp @@ -0,0 +1,48 @@ +#include + +using namespace std; + +int main () { + ios_base::sync_with_stdio(false); + cin.tie(NULL); + int tt; + cin >> tt; + while(tt--) { + int n; + cin >> n; + int m = 0, mx = 0; + for (int i = 0; i < n; i++) { + int x; + cin >> x; + while (x % 2 == 0) { + x /= 2; + m += 1; + } + } + if (m >= n) { + cout << 0 << '\n'; + } else { + int d = n - m, ans = 0; + vector a; + for (int i = n; i >= 1; i--) { + int j = i, cnt = 0; + while (j % 2 == 0) { + cnt += 1; + j /= 2; + } + if (cnt != 0) { + a.push_back(cnt); + } + } + sort(a.rbegin(), a.rend()); + for (int i = 0; i < (int)a.size(); i++) { + ans += 1; + d -= a[i]; + if (d <= 0) { + break; + } + } + cout << (d <= 0 ? ans : -1) << '\n'; + } + } +} diff --git a/contests/Round#828/C/main_input0.txt b/contests/Round#828/C/main_input0.txt new file mode 100644 index 0000000..c507f1f --- /dev/null +++ b/contests/Round#828/C/main_input0.txt @@ -0,0 +1,13 @@ +6 +1 +2 +2 +3 2 +3 +10 6 11 +4 +13 17 1 1 +5 +1 1 12 1 1 +6 +20 7 14 18 3 5 \ No newline at end of file diff --git a/contests/Round#828/C/main_output0.txt b/contests/Round#828/C/main_output0.txt new file mode 100644 index 0000000..994d708 --- /dev/null +++ b/contests/Round#828/C/main_output0.txt @@ -0,0 +1,6 @@ +0 +1 +1 +-1 +2 +1 \ No newline at end of file -- cgit v1.2.3