Submission #65506340


Source Code Expand

#![allow(unused_imports,non_snake_case,dead_code)]
use std::{cmp::Reverse as Rev,collections::*,iter::*};
use {proconio::{marker::*,*},rustc_hash::*,itertools::*};
use ac_library::{*,modint::ModIntBase,ModInt998244353 as M};


#[fastout]
fn main(){
    // 3000000

    // let mut cnt=0;
    // for i in 2..3e6 as usize{
    //     cnt+=is_prime(i) as usize;
    //     if cnt>=2e5 as usize{
    //         eprintln!("{i}");
    //         break;
    //     }
    // }

    input!{
        q:usize,
        ab:[(usize,usize);q],
    }

    let max=3000000;
    let mut seg=Segtree::<Additive<usize>>::from(vec![1;max+1]);
    seg.set(0,0);

    for &(a,b) in &ab{
        if !(max<a || seg.get(a)==0){
            // aの倍数を消していく
            for i in 1..{
                if max<i*a{
                    break;
                }
                seg.set(i*a,0);
            }
        }

        let right=seg.max_right(0,|&t|t<=b);
        let left=seg.min_left(right,|&t|t==0);

        println!("{}",left-1);
        
        // if seg.get(a)
        // todo!();
    }
}


fn is_prime(n:usize)->bool{
    if n<=1{
        return false;
    }
    for i in 2..{
        if n<i*i{
            break;
        }
        if n%i==0{
            return false;
        }
    }
    true
}

Submission Info

Submission Time
Task C - Removal of Multiples
User rhoo
Language Rust (rustc 1.70.0)
Score 600
Code Size 1359 Byte
Status AC
Exec Time 3581 ms
Memory 84552 KiB

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 87 ms 81400 KiB
02_small_AB_01.txt AC 468 ms 83368 KiB
02_small_AB_02.txt AC 486 ms 83432 KiB
02_small_AB_03.txt AC 367 ms 83548 KiB
02_small_AB_04.txt AC 392 ms 83584 KiB
02_small_AB_05.txt AC 389 ms 83508 KiB
03_rand_1_01.txt AC 62 ms 84416 KiB
03_rand_1_02.txt AC 63 ms 84472 KiB
03_rand_1_03.txt AC 62 ms 84384 KiB
03_rand_1_04.txt AC 63 ms 84476 KiB
03_rand_1_05.txt AC 62 ms 84552 KiB
04_rand_2_01.txt AC 287 ms 84220 KiB
04_rand_2_02.txt AC 289 ms 84252 KiB
04_rand_2_03.txt AC 276 ms 84256 KiB
04_rand_2_04.txt AC 266 ms 84220 KiB
04_rand_2_05.txt AC 290 ms 84320 KiB
05_rand_3_01.txt AC 180 ms 83704 KiB
05_rand_3_02.txt AC 207 ms 83656 KiB
05_rand_3_03.txt AC 181 ms 83604 KiB
05_rand_3_04.txt AC 204 ms 83672 KiB
05_rand_3_05.txt AC 184 ms 83736 KiB
06_rand_4_01.txt AC 741 ms 84180 KiB
06_rand_4_02.txt AC 769 ms 84076 KiB
06_rand_4_03.txt AC 717 ms 84244 KiB
06_rand_4_04.txt AC 739 ms 84184 KiB
06_rand_4_05.txt AC 750 ms 84080 KiB
06_rand_4_06.txt AC 767 ms 84168 KiB
06_rand_4_07.txt AC 759 ms 84240 KiB
06_rand_4_08.txt AC 780 ms 84232 KiB
06_rand_4_09.txt AC 649 ms 84172 KiB
06_rand_4_10.txt AC 701 ms 84108 KiB
06_rand_4_11.txt AC 3512 ms 84124 KiB
06_rand_4_12.txt AC 3581 ms 84108 KiB
06_rand_4_13.txt AC 1059 ms 84156 KiB
06_rand_4_14.txt AC 1106 ms 84168 KiB
06_rand_4_15.txt AC 1230 ms 84120 KiB
06_rand_4_16.txt AC 1248 ms 83948 KiB
07_max_ans_01.txt AC 711 ms 84388 KiB
07_max_ans_02.txt AC 735 ms 84324 KiB
07_max_ans_03.txt AC 785 ms 84288 KiB