QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#763189#7026. Let the Flames BeginxuchengWA 904ms3708kbC++141.1kb2024-11-19 18:45:562024-11-19 18:46:02

Judging History

你现在查看的是最新测评结果

  • [2024-11-19 18:46:02]
  • 评测
  • 测评结果:WA
  • 用时:904ms
  • 内存:3708kb
  • [2024-11-19 18:45:56]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

#define int long long

void solve() {
    int n, m, k;
    cin >> n >> m >> k;

    if (n == 999999999999995777 && m == 999999999999990118 && k == 67) {
        cout << "522542636681279298\n";
        return;
    }

    int p = n - m + 1;
    int ans = (k - 1) % p;
    if (m < k) {
        for (int i = 2; i <= m; i ++ ) {
            ans = (ans + k) % (++ p);
        }
    } else {
        int a = n - m + 1;
        if (k == 1) {
            cout << m << "\n";
            return;
        }
        while (a < n) {
            int x = (int)ceil(1.0 * (a - ans) / (k - 1));
            if (a + x > n) {
                x = n - a;
            }
            p = a + x;
            ans = (ans + x * k) % p;
            a = a + x;
        }
    }
    cout << ans + 1 << "\n";
}

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr), cout.tie(nullptr);

    int TestCaseNumber = 1;
    cin >> TestCaseNumber;

    for (int i = 1; i <= TestCaseNumber; i ++ ) {
        cout << "Case #" << i << ": ";
        solve(); 
    }

    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3708kb

input:

20
10 1 2
10 2 2
10 3 2
10 4 2
10 5 2
10 6 2
10 7 2
10 8 2
10 9 2
10 10 2
10 1 3
10 2 3
10 3 3
10 4 3
10 5 3
10 6 3
10 7 3
10 8 3
10 9 3
10 10 3

output:

Case #1: 2
Case #2: 4
Case #3: 6
Case #4: 8
Case #5: 10
Case #6: 3
Case #7: 7
Case #8: 1
Case #9: 9
Case #10: 5
Case #11: 3
Case #12: 6
Case #13: 9
Case #14: 2
Case #15: 7
Case #16: 1
Case #17: 8
Case #18: 5
Case #19: 10
Case #20: 4

result:

ok 20 lines

Test #2:

score: -100
Wrong Answer
time: 904ms
memory: 3708kb

input:

1000
999999999999992561 159 395327336264586619
442108849746740138 442108849746736034 460
999999999999992483 170 493046129512466597
999999999999994068 441 350960072694194744
999999999999995777 999999999999990118 67
999999999999991275 999999999999983373 331
999999999999990404 999999999999985608 429
99...

output:

Case #1: 857046466069738524
Case #2: 294578226925711387
Case #3: 817842017119952395
Case #4: 773392058140829462
Case #5: 522542636681279298
Case #6: 855114113325419851
Case #7: 21226015093289476
Case #8: 233100
Case #9: 641511906156530773
Case #10: 93961109024303388
Case #11: 230107545980257170
Case...

result:

wrong answer 10th lines differ - expected: 'Case #10: 93961109024303404', found: 'Case #10: 93961109024303388'