Submission #671076

# Submission time Handle Problem Language Result Execution time Memory
671076 2022-12-11T22:33:29 Z AdamGS Fireworks (APIO16_fireworks) C++17
Compilation error
0 ms 0 KB
#pragma GCC optimize("O3,unroll-loops")
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef long long ll;
typedef long double ld;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
const int LIM=3e5+7;
vector<pair<int,ll>>V[LIM];
ll n, m, ans;
void DFS2(int x, ll k, priority_queue<ll>&q) {
        ans+=k;
        if(x>=n) {
                q.push(0);
                q.push(k);
                q.push(k);
                return;
        }
        DFS2(V[x][0].st, V[x][0].nd, q);
        for(int i=1; i<V[x].size(); ++i) {
                priority_queue<ll>p;
                DFS2(V[x][i].st, V[x][i].nd, p);
                if(p.size()>q.size()) swap(p, q);
                while(!p.empty()) {
                        q.push(p.top());
                        p.pop();
                }
        }
        rep(i, V[x].size()-1) q.pop();
        ll a=q.top(); q.pop();
        ll b=q.top(); q.pop();
        q.push(a+k); q.push(b+k);
}
int main() {
        ios_base::sync_with_stdio(0); cin.tie(0);
        cin >> n >> m;
        rep(i, n+m-1) {
                ll a, b;
                cin >> a >> b; --a;
                V[a].pb({i+1, b});
        }
        priority_queue<ll>Q;
        DFS2(0, 0, Q);
        Q.pop();
        vector<ll>P;
        while(!Q.empty()) {
                P.pb(Q.top());
                Q.pop();
        }
        for(ll i=P.size()-1; i; --i) ans-=i*(P[i-1]-P[i]);
        cout << ans << '\n';
}

Compilation message

fireworks.cpp:16:24: error: 'priority_queue' has not been declared
   16 | void DFS2(int x, ll k, priority_queue<ll>&q) {
      |                        ^~~~~~~~~~~~~~
fireworks.cpp:16:38: error: expected ',' or '...' before '<' token
   16 | void DFS2(int x, ll k, priority_queue<ll>&q) {
      |                                      ^
fireworks.cpp: In function 'void DFS2(int, ll, int)':
fireworks.cpp:19:17: error: 'q' was not declared in this scope
   19 |                 q.push(0);
      |                 ^
fireworks.cpp:24:38: error: 'q' was not declared in this scope
   24 |         DFS2(V[x][0].st, V[x][0].nd, q);
      |                                      ^
fireworks.cpp:25:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |         for(int i=1; i<V[x].size(); ++i) {
      |                      ~^~~~~~~~~~~~
fireworks.cpp:26:17: error: 'priority_queue' was not declared in this scope
   26 |                 priority_queue<ll>p;
      |                 ^~~~~~~~~~~~~~
fireworks.cpp:5:1: note: 'std::priority_queue' is defined in header '<queue>'; did you forget to '#include <queue>'?
    4 | #include<algorithm>
  +++ |+#include <queue>
    5 | using namespace std;
fireworks.cpp:26:34: error: expected primary-expression before '>' token
   26 |                 priority_queue<ll>p;
      |                                  ^
fireworks.cpp:26:35: error: 'p' was not declared in this scope
   26 |                 priority_queue<ll>p;
      |                                   ^
fireworks.cpp:8:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 | #define rep(a, b) for(int a = 0; a < (b); ++a)
      |                                    ^
fireworks.cpp:34:9: note: in expansion of macro 'rep'
   34 |         rep(i, V[x].size()-1) q.pop();
      |         ^~~
fireworks.cpp: In function 'int main()':
fireworks.cpp:47:9: error: 'priority_queue' was not declared in this scope
   47 |         priority_queue<ll>Q;
      |         ^~~~~~~~~~~~~~
fireworks.cpp:47:9: note: 'std::priority_queue' is defined in header '<queue>'; did you forget to '#include <queue>'?
fireworks.cpp:47:26: error: expected primary-expression before '>' token
   47 |         priority_queue<ll>Q;
      |                          ^
fireworks.cpp:47:27: error: 'Q' was not declared in this scope
   47 |         priority_queue<ll>Q;
      |                           ^