답안 #1045783

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1045783 2024-08-06T07:41:04 Z dilanyan Petrol stations (CEOI24_stations) C++17
18 / 100
3500 ms 10940 KB
//-------------dilanyan------------\\ 
 
#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
 
//------------------Kargpefines--------------------\\ 
 
#define ll long long
#define pb push_back
#define all(u) (u).begin(), (u).end()
#define pqueue priority_queue
#define upper upper_bound
#define lower lower_bound
#define umap unordered_map
#define uset unordered_set
 
void KarginSet(string name = "") {
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    if (name.size()) {
        freopen((name + ".in").c_str(), "r", stdin);
        freopen((name + ".out").c_str(), "w", stdout);
    }
}
 
//-------------------KarginConstants------------------\\ 
 
const ll mod = 1e9 + 7;
const ll inf = 2e9;
 
//-------------------KarginCode-----------------------\\ 
 
const int N = 70005, M = 1000005;

int n, k;

vector<pair<int, int>> g[N];
int ans[N];
int s[N];

void dfs_s(int u, int p) {
    s[u] = 1;
    for (auto it : g[u]) {
        int v = it.first;
        if (v == p) continue;
        dfs_s(v, u);
        s[u] += s[v];
    }
}

void dfs(int u, int p,int l) {
    for (auto it : g[u]) {
        int v = it.first, w = it.second;
        if (v == p) continue;
        if (l >= w) dfs(v, u, l - w);
        else {
            ans[u] += s[v];
            dfs(v, u, k - w);
        }
    }
}

void KarginSolve() {
    cin >> n >> k;
    for (int i = 0;i < n - 1;i++) {
        int u, v, l;
        cin >> u >> v >> l;
        g[u].pb({ v,l }), g[v].pb({ u,l });
    } 
    for (int i = 0;i < n;i++) {
        dfs_s(i, -1);
        dfs(i, -1, k);
    }
    for (int i = 0;i < n;i++) cout << ans[i] << '\n';
}

int main() {
    KarginSet();
    int test = 1;
    //cin >> test;
    while (test--) {
        KarginSolve();
    }
    return 0;
}

Compilation message

Main.cpp:1:1: warning: multi-line comment [-Wcomment]
    1 | //-------------dilanyan------------\\
      | ^
Main.cpp:8:1: warning: multi-line comment [-Wcomment]
    8 | //------------------Kargpefines--------------------\\
      | ^
Main.cpp:27:1: warning: multi-line comment [-Wcomment]
   27 | //-------------------KarginConstants------------------\\
      | ^
Main.cpp:32:1: warning: multi-line comment [-Wcomment]
   32 | //-------------------KarginCode-----------------------\\
      | ^
Main.cpp: In function 'void KarginSet(std::string)':
Main.cpp:22:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |         freopen((name + ".in").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:23:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   23 |         freopen((name + ".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1884 KB Output is correct
2 Correct 1 ms 1884 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1884 KB Output is correct
2 Correct 1 ms 1884 KB Output is correct
3 Correct 8 ms 2140 KB Output is correct
4 Correct 15 ms 2148 KB Output is correct
5 Correct 10 ms 2104 KB Output is correct
6 Correct 24 ms 2140 KB Output is correct
7 Correct 19 ms 2228 KB Output is correct
8 Correct 1 ms 1884 KB Output is correct
9 Correct 10 ms 2108 KB Output is correct
10 Correct 10 ms 2112 KB Output is correct
11 Correct 10 ms 2140 KB Output is correct
12 Correct 10 ms 2140 KB Output is correct
13 Correct 10 ms 2168 KB Output is correct
14 Correct 7 ms 2164 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1884 KB Output is correct
2 Execution timed out 3595 ms 10940 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1884 KB Output is correct
2 Correct 1 ms 1884 KB Output is correct
3 Correct 1 ms 1884 KB Output is correct
4 Execution timed out 3595 ms 10940 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1884 KB Output is correct
2 Correct 1 ms 1884 KB Output is correct
3 Execution timed out 3515 ms 5720 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1884 KB Output is correct
2 Correct 1 ms 1884 KB Output is correct
3 Execution timed out 3515 ms 5720 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1884 KB Output is correct
2 Correct 1 ms 1884 KB Output is correct
3 Correct 8 ms 2140 KB Output is correct
4 Correct 15 ms 2148 KB Output is correct
5 Correct 10 ms 2104 KB Output is correct
6 Correct 24 ms 2140 KB Output is correct
7 Correct 19 ms 2228 KB Output is correct
8 Correct 1 ms 1884 KB Output is correct
9 Correct 10 ms 2108 KB Output is correct
10 Correct 10 ms 2112 KB Output is correct
11 Correct 10 ms 2140 KB Output is correct
12 Correct 10 ms 2140 KB Output is correct
13 Correct 10 ms 2168 KB Output is correct
14 Correct 7 ms 2164 KB Output is correct
15 Correct 1 ms 1884 KB Output is correct
16 Execution timed out 3595 ms 10940 KB Time limit exceeded
17 Halted 0 ms 0 KB -