제출 #1142321

#제출 시각아이디문제언어결과실행 시간메모리
1142321am_aadvikElection Campaign (JOI15_election_campaign)C++20
0 / 100
87 ms14016 KiB
#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;

vector<int> g[100005];
bool ok[20][20];
int done[100005];

bool dfs(int node, int par, int t) {
    done[node]++;
    if (node == t) return 1;
    for (auto x : g[node])
        if (x != par)
            if (dfs(x, node, t)) return 1;
    done[node]--;
    return 0;
}
int main()
{
    int n, v; cin >> n;
    for (int i = 1; i < n; ++i)
        cin >> v >> v;

    int m, ans = 0; cin >> m;
    vector<vector<int>> arr, arr2;
    for (int i = 0; i < m; ++i) {
        int x, y, z; cin >> x >> y >> z;
        if (x > y) swap(x, y);
        arr.push_back({ y, x, z, i });
    }
    sort(arr.begin(), arr.end());
    
    for (auto x : arr)
        arr2.push_back({ x[1], x[0], x[2], x[3] });

    int i = 0;
    while (i < m) {
        ++ans;
        int s = 0, e = m - 1, r = m;
        while (s <= e) {
            int mid = (s + e) / 2;
            if (arr2[mid][0] > arr[i][1])
                r = mid, e = mid - 1;
            else
                s = mid + 1;
        }
        i = r;
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...