제출 #1269218

#제출 시각아이디문제언어결과실행 시간메모리
1269218quangminh412Power Plant (JOI20_power)C++17
100 / 100
140 ms25864 KiB
/*
  Ben Watson

  Quang Minh MasterDDDDD
*/

#include <bits/stdc++.h>
using namespace std;

#define ll long long

const string name = "test";

void solve();
signed main()
{
    if (fopen((name + ".inp").c_str(), "r"))
    {
        freopen((name + ".inp").c_str(), "r", stdin);
        freopen((name + ".out").c_str(), "w", stdout);
    }
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    solve();

    return 0;
}

// main program
const int maxn = 2e5 + 1;

vector<int> adj[maxn];
int magical[maxn];
int n;

int res = 0;
int dp[maxn];
void DFS_DP(int u, int p = -1)
{
    int sum = 0, mx = 0;
    for (int v : adj[u])
    {
        if (v == p)
            continue;

        DFS_DP(v, u);
        mx = max(mx, dp[v]);
        sum += dp[v];
    }
    if (magical[u])
        res = max({res, mx + 1, sum - 1});
    else
        res = max(res, sum);
    dp[u] = max(magical[u], sum - magical[u]);
}

void solve()
{
    cin >> n;
    for (int i = 1; i < n; i++)
    {
        int a, b; cin >> a >> b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    for (int i = 1; i <= n; i++)
    {
        char c; cin >> c;
        if (c == '1')
            magical[i] = 1;
    }

    DFS_DP(1);

    cout << res << '\n';
}

컴파일 시 표준 에러 (stderr) 메시지

power.cpp: In function 'int main()':
power.cpp:19:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |         freopen((name + ".inp").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
power.cpp:20:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |         freopen((name + ".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...