Submission #65505662


Source Code Expand

Copy
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
struct Fenwick {
int n;
vector<int> bit;
Fenwick(int _n): n(_n), bit(n+1, 0) {}
void update(int i, int v){
for(; i <= n; i += i & -i)
bit[i] += v;
}
int query(int i) const {
int s = 0;
for(; i > 0; i -= i & -i)
s += bit[i];
return s;
}
int at(int i) const {
return query(i) - query(i-1);
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

struct Fenwick {
    int n;
    vector<int> bit;
    Fenwick(int _n): n(_n), bit(n+1, 0) {}
    void update(int i, int v){
        for(; i <= n; i += i & -i)
            bit[i] += v;
    }
    int query(int i) const {
        int s = 0;
        for(; i > 0; i -= i & -i)
            s += bit[i];
        return s;
    }
    int at(int i) const {
        return query(i) - query(i-1);
    }
    int find_by_order(int k) const {
        int idx = 0;
        int mask = 1 << 22;
        for(; mask > 0; mask >>= 1) {
            int next = idx + mask;
            if(next <= n && bit[next] < k) {
                idx = next;
                k -= bit[next];
            }
        }
        return idx + 1;
    }
};

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    const int M = 3000000;
    Fenwick fw(M);
    vector<bool> seen(M+1, false);
    for(int i = 1; i <= M; i++){
        fw.update(i, 1);
    }
    int Q;
    cin >> Q;
    while(Q--){
        int A, B;
        cin >> A >> B;
        if(A <= M && !seen[A]){
            seen[A] = true;
            for(int x = A; x <= M; x += A){
                if(fw.at(x) > 0)
                    fw.update(x, -1);
            }
        }
        int ans = fw.find_by_order(B);
        cout << ans << "\n";
    }
    return 0;
}

Submission Info

Submission Time
Task C - Removal of Multiples
User OYU__0YU
Language C++ 20 (gcc 12.2)
Score 600
Code Size 1423 Byte
Status AC
Exec Time 763 ms
Memory 15220 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 1
AC × 40
Set Name Test Cases
Sample 01_sample_01.txt
All 01_sample_01.txt, 02_small_AB_01.txt, 02_small_AB_02.txt, 02_small_AB_03.txt, 02_small_AB_04.txt, 02_small_AB_05.txt, 03_rand_1_01.txt, 03_rand_1_02.txt, 03_rand_1_03.txt, 03_rand_1_04.txt, 03_rand_1_05.txt, 04_rand_2_01.txt, 04_rand_2_02.txt, 04_rand_2_03.txt, 04_rand_2_04.txt, 04_rand_2_05.txt, 05_rand_3_01.txt, 05_rand_3_02.txt, 05_rand_3_03.txt, 05_rand_3_04.txt, 05_rand_3_05.txt, 06_rand_4_01.txt, 06_rand_4_02.txt, 06_rand_4_03.txt, 06_rand_4_04.txt, 06_rand_4_05.txt, 06_rand_4_06.txt, 06_rand_4_07.txt, 06_rand_4_08.txt, 06_rand_4_09.txt, 06_rand_4_10.txt, 06_rand_4_11.txt, 06_rand_4_12.txt, 06_rand_4_13.txt, 06_rand_4_14.txt, 06_rand_4_15.txt, 06_rand_4_16.txt, 07_max_ans_01.txt, 07_max_ans_02.txt, 07_max_ans_03.txt
Case Name Status Exec Time Memory
01_sample_01.txt AC 59 ms 15168 KB
02_small_AB_01.txt AC 252 ms 15072 KB
02_small_AB_02.txt AC 248 ms 15080 KB
02_small_AB_03.txt AC 243 ms 15220 KB
02_small_AB_04.txt AC 247 ms 15120 KB
02_small_AB_05.txt AC 246 ms 15220 KB
03_rand_1_01.txt AC 57 ms 15116 KB
03_rand_1_02.txt AC 58 ms 15164 KB
03_rand_1_03.txt AC 58 ms 15080 KB
03_rand_1_04.txt AC 58 ms 15056 KB
03_rand_1_05.txt AC 58 ms 15120 KB
04_rand_2_01.txt AC 134 ms 15076 KB
04_rand_2_02.txt AC 148 ms 15068 KB
04_rand_2_03.txt AC 128 ms 15152 KB
04_rand_2_04.txt AC 125 ms 15088 KB
04_rand_2_05.txt AC 148 ms 15120 KB
05_rand_3_01.txt AC 116 ms 15188 KB
05_rand_3_02.txt AC 115 ms 15120 KB
05_rand_3_03.txt AC 118 ms 15112 KB
05_rand_3_04.txt AC 115 ms 15052 KB
05_rand_3_05.txt AC 118 ms 15072 KB
06_rand_4_01.txt AC 222 ms 15124 KB
06_rand_4_02.txt AC 236 ms 15116 KB
06_rand_4_03.txt AC 230 ms 15116 KB
06_rand_4_04.txt AC 236 ms 15024 KB
06_rand_4_05.txt AC 250 ms 15156 KB
06_rand_4_06.txt AC 263 ms 15084 KB
06_rand_4_07.txt AC 244 ms 15156 KB
06_rand_4_08.txt AC 259 ms 15164 KB
06_rand_4_09.txt AC 692 ms 15068 KB
06_rand_4_10.txt AC 705 ms 15116 KB
06_rand_4_11.txt AC 732 ms 15052 KB
06_rand_4_12.txt AC 741 ms 15024 KB
06_rand_4_13.txt AC 741 ms 15088 KB
06_rand_4_14.txt AC 753 ms 15120 KB
06_rand_4_15.txt AC 750 ms 15160 KB
06_rand_4_16.txt AC 763 ms 15088 KB
07_max_ans_01.txt AC 221 ms 15084 KB
07_max_ans_02.txt AC 225 ms 15128 KB
07_max_ans_03.txt AC 255 ms 15084 KB


2025-05-05 (Mon)
19:43:36 +09:00