274A - k-Multiple Free Set - CodeForces Solution


binary search greedy sortings *1500

Please click on ads to support us..

C++ Code:

#include <algorithm>
#include <iostream>
using namespace std;
typedef long long ll;
const int MAX = 100005;
 
int n, k, x, y, p;
int a[MAX], b[MAX];
 
int main() {
    ios::sync_with_stdio(false);
    cin >> n >> k;
    for(int i = 0; i < n; i++)
        cin >> a[i];
    sort(a, a + n);
 
    if(k == 1){
        cout << n << endl;
        return 0;
    }
 
    for(int i = 0; i < n; i++){
        y = a[i];
        b[i] = 1;
        if(y % k != 0) continue;
        x = y / k;
        p = lower_bound(a, a + n, x) - a;
        if(a[p] == x){
            b[i] = b[p] + 1;
            b[p] = 0;
        }
    }
 
    int ans = 0;
    for(int i = 0; i < n; i++){
        ans += (b[i] + 1) / 2;
    }
 
    cout << ans << endl;
 
    return 0;
}


Comments

Submit
0 Comments
More Questions

1559B - Mocha and Red and Blue
1579C - Ticks
268B - Buttons
898A - Rounding
1372B - Omkar and Last Class of Math
1025D - Recovering BST
439A - Devu the Singer and Churu the Joker
1323A - Even Subset Sum Problem
1095A - Repeating Cipher
630F - Selection of Personnel
630K - Indivisibility
20B - Equation
600B - Queries about less or equal elements
1015A - Points in Segments
1593B - Make it Divisible by 25
680C - Bear and Prime 100
1300A - Non-zero
1475E - Advertising Agency
1345B - Card Constructions
1077B - Disturbed People
653A - Bear and Three Balls
794A - Bank Robbery
157A - Game Outcome
3B - Lorry
1392A - Omkar and Password
489A - SwapSort
932A - Palindromic Supersequence
433A - Kitahara Haruki's Gift
672A - Summer Camp
1277A - Happy Birthday Polycarp