diff options
| author | omagdy7 <omar.professional8777@gmail.com> | 2022-11-10 16:05:26 +0200 |
|---|---|---|
| committer | omagdy7 <omar.professional8777@gmail.com> | 2022-11-10 16:05:26 +0200 |
| commit | 95422138588572e08a1ee78e654741874f11cfa0 (patch) | |
| tree | 1a03ad9c57788546e804724ed4507f46c385263d /contests/Round#828/C | |
| parent | 42e25addbbce62e8bb43ab587b21c5bccb495bfb (diff) | |
| download | competitive-programming-95422138588572e08a1ee78e654741874f11cfa0.tar.xz competitive-programming-95422138588572e08a1ee78e654741874f11cfa0.zip | |
Added some new problems
Diffstat (limited to 'contests/Round#828/C')
| -rwxr-xr-x | contests/Round#828/C/main | bin | 0 -> 51696 bytes | |||
| -rw-r--r-- | contests/Round#828/C/main.cpp | 48 | ||||
| -rw-r--r-- | contests/Round#828/C/main_input0.txt | 13 | ||||
| -rw-r--r-- | contests/Round#828/C/main_output0.txt | 6 |
4 files changed, 67 insertions, 0 deletions
diff --git a/contests/Round#828/C/main b/contests/Round#828/C/main Binary files differnew file mode 100755 index 0000000..6931c26 --- /dev/null +++ b/contests/Round#828/C/main 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<bits/stdc++.h> + +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<int> 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 |
