QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#240255#4932. Moon and SunNYCU_gAwr_gurA#WA 10ms5380kbC++201.6kb2023-11-05 14:01:012023-11-05 14:01:01

Judging History

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

  • [2023-11-05 14:01:01]
  • 评测
  • 测评结果:WA
  • 用时:10ms
  • 内存:5380kb
  • [2023-11-05 14:01:01]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

#ifdef DEBUG
#define fast
#else
#define fast cin.tie(0)->sync_with_stdio(0)
#define cerr if(1);else cerr
#define endl '\n'
#endif
#define _ <<' '<<
#define ALL(v) v.begin(),v.end()
#define ft first
#define sd second

using ll = long long;
using ld = long double;
using pii = pair<int,int>;

constexpr ll MOD = 235'813;
constexpr int MAXN = 1e5;

ll fpow(ll a, ll b) {
    ll r = 1;
    while (b) {
        if (b & 1) r = r * a % MOD;
        a = a * a % MOD;
        b >>= 1;
    }
    return r;
}

ll inverse(ll x) {
    return fpow(x, MOD-2);
}

ll fac[MAXN+1], infac[MAXN+1];
ll C(int n, int m) {
    return fac[n] * infac[m] % MOD * infac[n-m] % MOD;
}

signed main() {
    fast;

    fac[0] = 1;
    for (int i = 1; i <= MAXN; i++)
        fac[i] = fac[i-1] * i % MOD;
    infac[MAXN] = inverse(fac[MAXN]);
    for (int i = MAXN; i > 0; i--)
        infac[i-1] = infac[i] * i % MOD;

    int n;
    cin >> n;
    vector<int> A(n);
    for (auto &x: A) cin >> x;

    ll sum = 0;
    for (int i = n-1, j = 1; i >= 0; i--, j *= -1) {
        ll t = C(n-1, i) * j + (j < 0 ? MOD : 0);
        cerr _ i _ A[i] _ t _ endl;
        sum = (sum + t * A[i]) % MOD;
    }
    cerr _ sum _ endl;

    int c = 0;
    for (int i = n-1, j = 1; i >= 0; i--, j *= -1) {
        ll t = C(n-1, i) * j + (j < 0 ? MOD : 0);
        ll x = sum * inverse(t) % MOD;
        ll y = (A[i] - x) % MOD;
        if (y < 0) y += MOD;
        if (y > MAXN) y -= MOD;
        cerr _ i _ A[i] _ '/' _ x _ y _ endl;
        if (-MAXN <= y and y < MAXN and x != 0)
            c++;
    }
    cout << c << endl;

    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 2ms
memory: 5156kb

input:

5
4 1 0 7 2

output:

3

result:

ok single line: '3'

Test #2:

score: 0
Accepted
time: 0ms
memory: 5164kb

input:

4
10 20 30 -40

output:

4

result:

ok single line: '4'

Test #3:

score: 0
Accepted
time: 2ms
memory: 5364kb

input:

2
100 100

output:

0

result:

ok single line: '0'

Test #4:

score: 0
Accepted
time: 0ms
memory: 5380kb

input:

16
19 43 69 21 72 9 70 -15 25 29 -23 -13 -41 79 -89 93

output:

14

result:

ok single line: '14'

Test #5:

score: 0
Accepted
time: 2ms
memory: 5332kb

input:

392
23531 -70064 22423 -55534 23391 -22700 88756 80526 36369 -10007 -28096 22617 -12591 80476 39531 -80144 -87955 93969 33358 30633 34132 -65817 -57922 -28367 -74214 50143 -36912 21570 -27256 -34989 14043 -92315 -12277 26859 97682 91797 -79591 30563 -58224 27016 -67737 99067 30626 16374 -49340 -1712...

output:

334

result:

ok single line: '334'

Test #6:

score: 0
Accepted
time: 2ms
memory: 5312kb

input:

292
-99191 -98152 -98063 -98047 -97715 -97353 -97211 -96714 -94868 -94586 -93910 -92928 -91078 -90877 -89315 -88925 -88630 -87392 -87209 -86028 -84609 -84095 -83780 -83406 -83315 -82724 -82079 -81548 -81481 -81308 -80690 -80431 -79941 -76493 -75868 -75033 -74227 -74117 -73703 -73586 -73502 -73306 -7...

output:

248

result:

ok single line: '248'

Test #7:

score: 0
Accepted
time: 2ms
memory: 5108kb

input:

309
98887 98493 98409 98076 97889 97105 96335 95922 95157 94858 94022 93801 93788 93600 93566 93431 92058 91804 90751 90382 90197 89866 89067 88948 88524 88049 87464 87356 85865 85383 85000 84838 84429 83352 81775 81241 80996 80303 79421 79359 79084 78979 78579 78311 77853 77615 77199 76350 75853 73...

output:

263

result:

ok single line: '263'

Test #8:

score: 0
Accepted
time: 1ms
memory: 5148kb

input:

107
-44185 93780 -58049 38184 -80116 15432 -76859 39059 -42043 34396 7818 89779 -22224 44835 -99460 29444 -54582 20083 -9025 94424 17752 92561 66770 82965 -96626 39301 -11864 62742 33462 37023 1965 29724 -94180 58174 -33205 83913 -80551 8495 -11590 98236 -23377 38796 3994 61340 -81823 -7796 -54447 6...

output:

88

result:

ok single line: '88'

Test #9:

score: 0
Accepted
time: 3ms
memory: 5040kb

input:

43417
-88011 3526 -87784 -5063 81553 -63127 47982 -13045 79619 -62489 34521 43047 5792 4605 -39109 -35885 99600 -99381 -27560 19465 -5867 29820 -24349 -98963 95913 94051 -65067 32778 -34400 -41369 36075 -59926 -87358 85147 21454 -38148 -4467 -19354 -43198 26617 -52316 78137 2906 -13476 -26412 85650 ...

output:

36822

result:

ok single line: '36822'

Test #10:

score: 0
Accepted
time: 10ms
memory: 5048kb

input:

90838
-89537 65011 22520 -7843 8633 -56201 -11753 -61717 -21438 27748 -2513 -537 75559 11717 19211 72302 52392 90298 44251 81002 -43966 -52133 -96725 -16064 -2814 13471 10229 -2230 13631 -48825 23208 -50077 70706 -44059 -54640 13408 9308 11392 1294 45011 98620 -52030 -96925 86174 -27533 -57566 -7870...

output:

76911

result:

ok single line: '76911'

Test #11:

score: 0
Accepted
time: 7ms
memory: 5180kb

input:

44994
-72728 -84149 715 -72757 -63184 65252 248 -26899 -61524 -32934 69222 -87290 11716 -44300 -32029 -89748 -91620 34038 488 -1404 -39640 78030 149 73272 56552 74365 -17748 -86455 79671 -89249 -32298 -71778 -46249 29495 -88982 -44163 -22883 -52013 -17137 -91156 29037 73521 -97656 -43895 -50704 3465...

output:

38250

result:

ok single line: '38250'

Test #12:

score: -100
Wrong Answer
time: 4ms
memory: 5152kb

input:

16942
69607 -32741 -90994 -85656 7263 71160 -77525 -27855 -89319 -23418 15103 -48641 -3483 -7983 66210 -47519 -23372 72744 86506 -90670 88640 6659 19177 46053 90112 -97538 -47290 19944 9270 -17233 -60434 32328 -95953 -7320 14762 91692 62164 30763 -11861 30320 72857 87290 -48830 66581 -49365 39438 -5...

output:

14383

result:

wrong answer 1st lines differ - expected: '14384', found: '14383'