CF1029 Div3 - 赛时 ABCDE

A

void kdog(int test) {
    int n, x; cin >> n >> x;
    bool f = 0; vi a(n); cin >> a;
    for (int i = 0; i < n; i++) {
        if (!f && a[i]) f = 1; 
        if (f) {
            if (x <= 0 && a[i]) {
                cout << "NO\n";
                return;
            }
            x--;
        }
    }
    cout << "YES\n";
} 

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T;
    T = 1;
    cin >> T;
    init();
    for (int test = 1; test <= T; test++) {
        kdog(test);
    }
    return 0;
}

B

void kdog(int test) {
    int n; cin >> n;
    vi res(n);
    int v = 1;

    int l = 0, r = n - 1;
    while (l < r) {
        res[l] = v++;
        res[r] = v++;
        l++, r--;
    }
    if (n & 1) res[l] = v++;

    for (int i = 0; i < n; i++) {
        cout << res[i] << " \n"[i == n - 1];
    }
} 

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T;
    T = 1;
    cin >> T;
    init();
    for (int test = 1; test <= T; test++) {
        kdog(test);
    }
    return 0;
}

C

void kdog(int test) {
    int n; cin >> n;
    vi a(n); cin >> a;
    int res = 1;
    set<int> vis;
    vis.insert(a[0]);
    for (int i = 1; i < n; i++) {
        int j = i;
        set<int> vis2;
        while (j < n && !vis.empty()) {
            vis.erase(a[j]);
            vis2.insert(a[j]);
            j++;
        }
        if (!vis.empty()) break;
        res++;
        vis = vis2;
        i = j - 1;
    }
    cout << res << "\n";
} 

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T;
    T = 1;
    cin >> T;
    init();
    for (int test = 1; test <= T; test++) {
        kdog(test);
    }
    return 0;
}

D

void kdog(int test) {
    int n; cin >> n;
    vi a(n); cin >> a;
    int d = a[1] - a[0];
    if (a[0] - d < 0 || (a[0] - d) % (n + 1)) {
        cout << "NO\n";
        return;
    } 
    if (d + (a[0] - d) / (n + 1) < 0) {
        cout << "NO\n";
        return;
    }
    for (int i = 1; i < n - 1; i++) {
        if (a[i + 1] - a[i] != d) {
            cout << "NO\n";
            return;
        }
    }
    cout << "YES\n";
} 

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T;
    T = 1;
    cin >> T;
    init();
    for (int test = 1; test <= T; test++) {
        kdog(test);
    }
    return 0;
}

E

void kdog(int test) {
    int n; cin >> n;
    vi a(n), b(n); cin >> a >> b;

    vi p, q;
    for (int i = 0; i < n; i++) {
        if (i & 1) {
            p.push_back(a[i]);
            q.push_back(b[i]);
        } else {
            q.push_back(a[i]);
            p.push_back(b[i]);
        }
    }

    set<int> v1, v2;
    for (int i = n - 1; i >= 0; i--) {
        if (p[i] == q[i]) {
            cout << i + 1 << "\n";
            return;
        }
        if (v2.count(p[i]) || v1.count(q[i])) {
            cout << i + 1 << "\n";
            return;
        }
        if (i - 1 >= 0) {
            if (v2.count(q[i - 1]) || v1.count(p[i - 1])) {
                cout << i << "\n";
                return;
            }
        }
        v1.insert(p[i]), v2.insert(q[i]);
    }
    cout << "0\n";
} 

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int T;
    T = 1;
    cin >> T;
    init();
    for (int test = 1; test <= T; test++) {
        kdog(test);
    }
    return 0;
}
posted @ 2025-06-09 20:29  k(d)o(g)  阅读(30)  评论(0)    收藏  举报