Submission #39115056


Source Code Expand

Copy
use proconio::{input, marker::Usize1};
fn gcd(n: usize, m: usize) -> usize {
if m == 0 {
n
} else {
gcd(m, n % m)
}
}
fn main() {
input! {
t: usize,
ndk: [(usize, usize, Usize1); t],
};
for (n, d, k) in ndk {
let d = d % n;
let ans = if d == 0 {
k
} else {
(d * k) % n + k / (n / gcd(n, d))
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
use proconio::{input, marker::Usize1};

fn gcd(n: usize, m: usize) -> usize {
    if m == 0 {
        n
    } else {
        gcd(m, n % m)
    }
}

fn main() {
    input! {
        t: usize,
        ndk: [(usize, usize, Usize1); t],
    };
    for (n, d, k) in ndk {
        let d = d % n;
        let ans = if d == 0 {
            k
        } else {
            (d * k) % n + k / (n / gcd(n, d))
        };
        println!("{}", ans);
    }
}

Submission Info

Submission Time
Task D - Marking
User bouzuya
Language Rust (1.42.0)
Score 400
Code Size 445 Byte
Status AC
Exec Time 232 ms
Memory 7276 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 1
AC × 7
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_small_00.txt, 02_large_00.txt, 02_large_01.txt, 02_large_02.txt, 02_large_03.txt, 02_large_04.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 6 ms 2088 KB
01_small_00.txt AC 179 ms 5156 KB
02_large_00.txt AC 196 ms 7052 KB
02_large_01.txt AC 192 ms 7112 KB
02_large_02.txt AC 193 ms 7088 KB
02_large_03.txt AC 232 ms 7276 KB
02_large_04.txt AC 222 ms 7152 KB


2025-04-09 (Wed)
09:02:05 +00:00