답안 #1087597

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1087597 2024-09-13T02:19:57 Z trMatherz Magic Tree (CEOI19_magictree) C++17
6 / 100
2000 ms 1048576 KB
#include <iostream> //cin, cout


// #include <fstream>
// std::ifstream cin ("paint.in");
// std::ofstream cout ("paint.out");





// includes
#include <cmath> 
#include <set>
#include <map>
#include <queue>
#include <string>
#include <vector>
#include <array>
#include <algorithm>
#include <numeric>
#include <iomanip>
#include <unordered_set>
#include <stack>
#include <ext/pb_ds/assoc_container.hpp>
#include <random>
#include <chrono>
#include <bitset>
#include <complex>


//usings 
using namespace std;
using namespace __gnu_pbds;


// misc
#define ll long long
#define ld long double
#define pb push_back
#define pq priority_queue
#define ub upper_bound
#define lb lower_bound
template<typename T, typename U> bool emin(T &a, const U &b){ return b < a ? a = b, true : false; }
template<typename T, typename U> bool emax(T &a, const U &b){ return b > a ? a = b, true : false; }
typedef uint64_t hash_t;

// vectors
#define vi vector<int>
#define vvi vector<vi>
#define vvvi vector<vvi>
#define vpii vector<pair<int, int>>
#define vvpii vector<vector<pair<int, int>>>
#define vppipi vector<pair<int, pair<int, int>>>
#define vl vector<ll>
#define vvl vector<vl>
#define vvvl vector<vvl>
#define vpll vector<pair<ll, ll>>
#define vvpll vector<vpll>
#define vb vector<bool>
#define vvb vector<vb>
#define vs vector<string>
#define sz(x) (int)x.size()
#define rz resize
#define all(x) x.begin(), x.end()
#define vc vector<char>
#define vvc vector<vc>


// pairs
#define pii pair<int, int>
#define pll pair<ll, ll>
#define mp make_pair
#define f first
#define s second

// sets
#define si set<int>
#define sl set<ll>
#define ss set<string>
#define in insert
template <class T> using iset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

// maps
#define mii map<int, int>
#define mll map<ll, ll>

// loops
#define FR(x, z, y) for (int x = z; x < y; x++)
#define FRE(x, z, y) FR(x, z, y + 1)
#define F(x, y) FR(x, 0, y)
#define FE(x, y) F(x, y + 1)
#define A(x, y) for(auto &x : y)

int n, m, k; 
vvi a; vpll b;  
vvpll dp; 
void plop(int x, int p) {
    A(u, a[x]) {
        if(u == p) continue; 
        plop(u, x); 
        A(l, dp[u]) dp[x].pb(l); 
    }
    dp[x].pb(b[x]); 
    sort(all(dp[x])); 
    ll ct = b[x].s; 
    A(u, dp[x]) {
        if(u.f <= b[x].f) continue;
        if(u.s > ct) { u.s -= ct; return; }
        else ct -= u.s, u.s = 0;
    }
}
int main(){
    cin >> n >> m >> k;
    a = vvi(n); dp = vvpll(n); b = vpll(n, {0, 0}); 
    F(i, n - 1) { int x; cin >> x; a[x - 1].pb(i + 1); }
    F(i, m) { int x, y, z; cin >> x >> y >> z; b[--x] = {y, z}; }
    plop(0, 0); 
    ll an = 0;
    A(u, dp[0]) an += u.s; 
    cout << an; 
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 92 ms 32796 KB Output is correct
2 Runtime error 1930 ms 1048576 KB Execution killed with signal 9
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 25 ms 10836 KB Output is correct
2 Correct 17 ms 10588 KB Output is correct
3 Correct 17 ms 10584 KB Output is correct
4 Execution timed out 2088 ms 431164 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 124 ms 34348 KB Output is correct
2 Correct 139 ms 34028 KB Output is correct
3 Execution timed out 2101 ms 739108 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 112 ms 35808 KB Output is correct
11 Correct 103 ms 34232 KB Output is correct
12 Execution timed out 2100 ms 802944 KB Time limit exceeded
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 11 ms 6236 KB Output is correct
2 Correct 67 ms 35044 KB Output is correct
3 Correct 69 ms 35168 KB Output is correct
4 Correct 72 ms 33996 KB Output is correct
5 Correct 22 ms 15052 KB Output is correct
6 Runtime error 1474 ms 1048576 KB Execution killed with signal 9
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 25 ms 10836 KB Output is correct
11 Correct 17 ms 10588 KB Output is correct
12 Correct 17 ms 10584 KB Output is correct
13 Execution timed out 2088 ms 431164 KB Time limit exceeded
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 92 ms 32796 KB Output is correct
11 Runtime error 1930 ms 1048576 KB Execution killed with signal 9
12 Halted 0 ms 0 KB -