Submission #1339522

#TimeUsernameProblemLanguageResultExecution timeMemory
1339522po_rag526Transport (COCI19_transport)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

int val[100005], ans, sz[100005];
vector<pair<int, int>> adj[100005];
bool centroid[100005];

void getsize(int u, int p = 0){
    sz[u] = 1;
    for(auto [v, cost] : adj[u]){
        if(v == p || centroid[v]) continue;
        getsize(v, u);
        sz[u] += sz[v];
    }
}

int findcent(int u, int n, int p = 0){
    for(auto [v, cost] : adj[u]){
        if(v == p || centroid[v] || sz[v] > n / 2)
            return findcent(v, n, u);
    }
    return u;
}

vector<int> ajung;

void query(int u, int curr, int min_necesar, int p = 0){
    int l = -1, r = ajung.size() - 1;
    while(r - l > 1){
        int mid = l + r >> 1;
        if(ajung[mid] >= min_necesar){
            r = mid;
        }
        else
            l = mid;
    }
    if(r == 0 && ajung[0] < min_necesar) r--;
    ans += r + 1;
    curr += val[u];
    for(auto [v, cost] : adj[u]){
        if(centroid[v] || v == p)
            continue;
        query(v, curr - cost, max(min_necesar, cost - curr));
    }
}

void update(int u, int trebuie, int cu_cat, int p = 0){
    if(trebuie == 0){
        ajung.push_back(cu_cat);
    }
    for(auto )
}

void bagacentroid_si_da_pray(int u = 1){
    getsize(u);
    int cent = findcent(u, sz[u]);
    ajung.clear();
    ajung.push_back(val[cent]);
    centroid[cent] = 1;
    for(auto [v, cost] : adj[cent]){
        query(v, val[cent] - cost, max(val[cent] - cost, 0LL));
        update(v, max(0LL, cost - val[v]), val[cent] + val[v] - cost);
    }

}

signed main(){

    int n;
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> v[i];
    for(int i = 1; i < n; i++){
        int u, v, w;
        cin >> u >> v >> w;
        adj[u].push_back({v, w});
        adj[v].push_back({u, w});
    }
    bagacentroid_si_da_pray();

    return 0;
}

Compilation message (stderr)

Main.cpp: In function 'void update(long long int, long long int, long long int, long long int)':
Main.cpp:52:14: error: expected unqualified-id before ')' token
   52 |     for(auto )
      |              ^
Main.cpp:52:13: error: expected ';' before ')' token
   52 |     for(auto )
      |             ^~
      |             ;
Main.cpp:52:14: error: expected primary-expression before ')' token
   52 |     for(auto )
      |              ^
Main.cpp:52:13: error: expected ';' before ')' token
   52 |     for(auto )
      |             ^~
      |             ;
Main.cpp:53:1: error: expected primary-expression before '}' token
   53 | }
      | ^
Main.cpp: In function 'int main()':
Main.cpp:72:40: error: 'v' was not declared in this scope
   72 |     for(int i = 1; i <= n; i++) cin >> v[i];
      |                                        ^