답안 #564200

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
564200 2022-05-18T17:48:45 Z 4fecta 송금 (JOI19_remittance) C++17
0 / 100
339 ms 16092 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int ll
#define ld long double
#define pii pair<int, int>
#define f first
#define s second
#define boost() cin.tie(0), cin.sync_with_stdio(0)

const int MN = 1000005;

int n;
pii a[MN * 2];

int fpow(int b, int p, int mod) {
    if (!p) return 1;
    int ret = fpow(b, p / 2, mod);
    if (p & 1) return ret * ret % mod * b % mod;
    return ret * ret % mod;
}

int32_t main() {
    boost();

    cin >> n;
    for (int i = 0; i < n; i++) cin >> a[i].f >> a[i].s;
    for (int i = 0; i < MN; i++) {
        if (a[i].s > a[i].f) {
            int d = a[i].s - a[i].f;
            a[i].s -= d;
            a[i + n].s += d;
        }
        int d = a[i].f - a[i].s;
        int tk = min(a[i].f / 2, (d + 1) / 2);
        a[i].f -= tk * 2;
        a[i + 1].f += tk;
        if (a[i].s > a[i].f) {
            int d = a[i].s - a[i].f;
            a[i].s -= d;
            a[i + n].s += d;
        }
        if (a[i].f > a[i].s) {
            int d = a[i].f - a[i].s;
            a[i].f -= d;
            a[i + n].f += d;
        }
    }
    int was = (1ll << n) - 1, sum = 0;
    for (int i = 0; i < MN * 2; i++) {
        assert(a[i].f >= 0 && a[i].s >= 0);
        if (a[i].f < a[i].s) return 0 * printf("No\n");
        sum += fpow(2, i, was) * (a[i].f - a[i].s) % was;
    }
    if (sum % was == 0) printf("Yes\n");
    else printf("No\n");

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 165 ms 15972 KB Output is correct
2 Correct 311 ms 15980 KB Output is correct
3 Correct 316 ms 15996 KB Output is correct
4 Correct 321 ms 15972 KB Output is correct
5 Correct 330 ms 15992 KB Output is correct
6 Correct 321 ms 16036 KB Output is correct
7 Correct 339 ms 15988 KB Output is correct
8 Correct 316 ms 15988 KB Output is correct
9 Correct 337 ms 15992 KB Output is correct
10 Correct 316 ms 15980 KB Output is correct
11 Correct 336 ms 15968 KB Output is correct
12 Correct 152 ms 15968 KB Output is correct
13 Correct 155 ms 15968 KB Output is correct
14 Correct 165 ms 16068 KB Output is correct
15 Correct 162 ms 15968 KB Output is correct
16 Correct 164 ms 15964 KB Output is correct
17 Correct 169 ms 15956 KB Output is correct
18 Correct 314 ms 16092 KB Output is correct
19 Correct 174 ms 15956 KB Output is correct
20 Incorrect 324 ms 15972 KB Output isn't correct
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 165 ms 15972 KB Output is correct
2 Correct 311 ms 15980 KB Output is correct
3 Correct 316 ms 15996 KB Output is correct
4 Correct 321 ms 15972 KB Output is correct
5 Correct 330 ms 15992 KB Output is correct
6 Correct 321 ms 16036 KB Output is correct
7 Correct 339 ms 15988 KB Output is correct
8 Correct 316 ms 15988 KB Output is correct
9 Correct 337 ms 15992 KB Output is correct
10 Correct 316 ms 15980 KB Output is correct
11 Correct 336 ms 15968 KB Output is correct
12 Correct 152 ms 15968 KB Output is correct
13 Correct 155 ms 15968 KB Output is correct
14 Correct 165 ms 16068 KB Output is correct
15 Correct 162 ms 15968 KB Output is correct
16 Correct 164 ms 15964 KB Output is correct
17 Correct 169 ms 15956 KB Output is correct
18 Correct 314 ms 16092 KB Output is correct
19 Correct 174 ms 15956 KB Output is correct
20 Incorrect 324 ms 15972 KB Output isn't correct
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 165 ms 15972 KB Output is correct
2 Correct 311 ms 15980 KB Output is correct
3 Correct 316 ms 15996 KB Output is correct
4 Correct 321 ms 15972 KB Output is correct
5 Correct 330 ms 15992 KB Output is correct
6 Correct 321 ms 16036 KB Output is correct
7 Correct 339 ms 15988 KB Output is correct
8 Correct 316 ms 15988 KB Output is correct
9 Correct 337 ms 15992 KB Output is correct
10 Correct 316 ms 15980 KB Output is correct
11 Correct 336 ms 15968 KB Output is correct
12 Correct 152 ms 15968 KB Output is correct
13 Correct 155 ms 15968 KB Output is correct
14 Correct 165 ms 16068 KB Output is correct
15 Correct 162 ms 15968 KB Output is correct
16 Correct 164 ms 15964 KB Output is correct
17 Correct 169 ms 15956 KB Output is correct
18 Correct 314 ms 16092 KB Output is correct
19 Correct 174 ms 15956 KB Output is correct
20 Incorrect 324 ms 15972 KB Output isn't correct
21 Halted 0 ms 0 KB -