제출 #1206963

#제출 시각아이디문제언어결과실행 시간메모리
1206963veplsnxElection Campaign (JOI15_election_campaign)C++20
0 / 100
32 ms7228 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define u128 unsigned __int128 #define i128 __int128 #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define pb push_back #define eb emplace_back #define mt make_tuple #define mp make_pair #define pii pair<int, int> #define pll pair<ll, ll> #define pli pair<ll, int> #define pil pair<int, ll> #define ff first #define ss second const ll inf = 9e18; const int iinf = 2e9; const int N = 1e5; const ll MOD = 1e9 + 7; vector<vector<int>> g; void solution(){ int n; cin >> n; g.resize(n + 1); bool case23 = true; for (int i = 0; i < n - 1; ++i){ int x, y; cin >> x >> y; g[x].pb(y); g[y].pb(x); case23 &= (abs(x - y) == 1); } int m; cin >> m; vector<pair<int, int>> v(m); vector<int> c(m); for (int i = 0; i < m; ++i){ cin >> v[i].ff >> v[i].ss >> c[i]; if (v[i].ff > v[i].ss) swap(v[i].ff, v[i].ss); } if (case23){ vector<pair<int, int>> vn(m); vector<int> order(m), cn(m); iota(all(order), 0); sort(all(order), [&](int i, int j){ return v[i].ss < v[j].ss; }); for (int i = 0; i < m; ++i){ vn[i] = v[order[i]]; cn[i] = c[order[i]]; } vector<int> vr(m); for (int i = 0; i < m; ++i) vr[i] = vn[i].ss; vector<int> dp(m, 0); for (int i = 0; i < m; ++i){ int l = vn[i].ff, r = vn[i].ss; int idx = max(int(upper_bound(all(vr), l - 1) - vr.begin() - 1), 0); dp[i] = max((i == 0 ? 0 : dp[i - 1]), dp[idx] + cn[i]); } cout << dp[m - 1]; } else{ } } signed main(/* Kurmankul Nurislam */){ //freopen("fcolor.in", "r", stdin); //freopen("fcolor.out", "w", stdout); cin.tie(nullptr) -> sync_with_stdio(false); int t = 1; //cin >> t; while (t--){ solution(); //cout << '\n'; } }
#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...