aboutsummaryrefslogtreecommitdiff
path: root/Semestr 4/aisd/pracownia1/rozw2.cpp
diff options
context:
space:
mode:
authorFranciszek Malinka <franciszek.malinka@gmail.com>2021-10-05 21:49:54 +0200
committerFranciszek Malinka <franciszek.malinka@gmail.com>2021-10-05 21:49:54 +0200
commitc5fcf7179a83ef65c86c6a4a390029149e518649 (patch)
treed29ffc5b86a0d257453cedcf87d91a13d8bf3b0d /Semestr 4/aisd/pracownia1/rozw2.cpp
parentf8a88b6a4aba1f66d04711a9330eaba49a50c463 (diff)
Duzy commit ze smieciami
Diffstat (limited to 'Semestr 4/aisd/pracownia1/rozw2.cpp')
-rw-r--r--Semestr 4/aisd/pracownia1/rozw2.cpp33
1 files changed, 0 insertions, 33 deletions
diff --git a/Semestr 4/aisd/pracownia1/rozw2.cpp b/Semestr 4/aisd/pracownia1/rozw2.cpp
deleted file mode 100644
index 35fd37e..0000000
--- a/Semestr 4/aisd/pracownia1/rozw2.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#include<bits/stdc++.h>
-using namespace std;
-typedef unsigned long long ll;
-
-vector<pair<int, ll>> v;
-
-int main() {
- int n;
- scanf("%d", &n);
- for (int i = 0; i < n; i++) {
- int d, nd, k = 0;
- scanf("%d %d", &d, &nd);
- while (d % 2 == 0) {
- k++;
- d /= 2;
- }
- v.push_back({d, (ll)(1LL<<k) * (ll)nd});
- }
- sort(v.begin(), v.end());
- int result = 0;
- for (int i = 0; i < n; ) {
- int j = i;
- int cur = v[i].first;
- ll count = 0;
- while (j < n && v[j].first == cur) {
- count += v[j].second;
- ++j;
- }
- result += __builtin_popcountll(count);
- i = j;
- }
- cout << result << "\n";
-} \ No newline at end of file