Submission #569985

# Submission time Handle Problem Language Result Execution time Memory
569985 2022-05-28T12:22:21 Z OttoTheDino Power Plant (JOI20_power) C++17
0 / 100
4 ms 4948 KB
#include <bits/stdc++.h>
using namespace std;
 
#define rep(i,s,e)                  for (int i = s; i <= e; ++i)
#define rrep(i,s,e)                 for (int i = s; i >= e; --i)
#define pb                          push_back
#define pf                          push_front
#define fi                          first
#define se                          second
#define all(a)                      a.begin(), a.end()
#define len(a)                      (int)a.size()
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef vector<int> vi;
typedef vector<double> vd;
typedef vector<string> vs;
typedef vector<ll> vll;
 
const int mx=2e5;
vi adj[mx+1];
int ans = 0;
string s;
 
int dfs (int u, int p, bool f) {
    bool ff = 0;
    if (s[u-1]=='1' && !f) ff = f = 1;
    int x = 0;
    for (int v : adj[u]) {
        if (v==p) continue;
        x += dfs (v, u, f);
    }
    if (s[u-1]=='1') {
        if (ff) x++;
        else x = max(x-1, 1);
    }
    ans = max(ans, x);
    return x;
}
 
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
 
    int n;cin>>n;
    rep(i,1,n-1){
       int u,v; cin>>u>>v;
       adj[u].pb(v);
       adj[v].pb(u);
    }
    cin >> s;
    int y = 0;
    rep (i,0,n-1) {
        if (s[i]=='1') {
            y = i+1;
        }
    }
    dfs (y,0,0);
    cout << ans << "\n";
    
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 4948 KB Output is correct
2 Correct 4 ms 4948 KB Output is correct
3 Correct 3 ms 4948 KB Output is correct
4 Correct 2 ms 4948 KB Output is correct
5 Correct 3 ms 4948 KB Output is correct
6 Incorrect 3 ms 4948 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 4948 KB Output is correct
2 Correct 4 ms 4948 KB Output is correct
3 Correct 3 ms 4948 KB Output is correct
4 Correct 2 ms 4948 KB Output is correct
5 Correct 3 ms 4948 KB Output is correct
6 Incorrect 3 ms 4948 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 4948 KB Output is correct
2 Correct 4 ms 4948 KB Output is correct
3 Correct 3 ms 4948 KB Output is correct
4 Correct 2 ms 4948 KB Output is correct
5 Correct 3 ms 4948 KB Output is correct
6 Incorrect 3 ms 4948 KB Output isn't correct
7 Halted 0 ms 0 KB -