秋祭 | 静岡高校工学部



卬高杯


提出詳細

提出id提出時刻ユーザー名問題言語判定状況判定実行時間
1148842023-10-24 10:17:37rk42745417Jcpp11/11TLE120

#include <iostream>
#include <functional>
#include <vector>

signed main() {
    int n, m, x, p;
    std::cin >> n >> m >> x >> p;
    std::vector<int> b(n);
    std::vector<int> t(m);
    for (int &a : b)
        std::cin >> a;
    for (int &a : t)
        std::cin >> a;
    std::vector<bool> has(m);
    for (int mise : b)
        for (int i = 0; i < m; i++)
            if (abs(t[i] - mise) <= p)
                has[i] = true;

    std::vector<std::vector<int>> edge(m);
    for (int i = 0, u, v; i < x; i++) {
        std::cin >> u >> v;
        edge[u].push_back(v);
        edge[v].push_back(u);
    }

    std::vector<bool> vis(m);
    std::function<void(int)> dfs = [&] (int u) {
        vis[u] = true;
        for (int v : edge[u])
            if (!vis[v])
                dfs(v);
    };
    int ans = 0;
    for (int i = 0; i < m; i++)
        if (has[i] && !vis[i]) {
            dfs(i);
            ans++;
        }
    std::cout << ans << '\n';
}

case1.txt TLE 86
case2.txt TLE 87
case3.txt TLE 89
case4.txt TLE 120
case5.txt TLE 94
case6.txt TLE 86
case9.txt TLE 87
case10.txt AC 3
case11.txt TLE 111
case13.txt WA 3
sample1.txt AC 3
120 RE120 TLE