Submission #385984

# Submission time Handle Problem Language Result Execution time Memory
385984 2021-04-05T10:24:45 Z Keshi Friend (IOI14_friend) C++17
100 / 100
57 ms 11648 KB
    //In the name of God
    #include <bits/stdc++.h>
    #include "friend.h"
    using namespace std;
     
    typedef long long ll;
    typedef pair<ll, ll> pll;
     
    const ll maxn = 2e5 + 100;
    const ll mod = 1e9 + 7;
    const ll inf = 1e18;
     
    #define fast_io ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    #define file_io freopen("input.txt", "r+", stdin);freopen("output.txt", "w+", stdout);
    #define pb push_back
    #define Mp make_pair
    #define F first
    #define S second
    #define Sz(x) ll((x).size())
    #define all(x) (x).begin(), (x).end()
     
    ll c[maxn], pr[maxn], dp[maxn][2];
    vector<ll> g[maxn];
     
    void dfs(ll v){
    	reverse(all(g[v]));
    	dp[v][1] = c[v];
    	for(ll u : g[v]){
    		dfs(u);
    		if(pr[u] == 0){
    			dp[v][1] += dp[u][0];
    			dp[v][0] += max(dp[u][0], dp[u][1]);
    		}
    		if(pr[u] == 1){
    			dp[v][1] = max(dp[v][0], dp[v][1]) + max(dp[u][0], dp[u][1]);
    			dp[v][0] += dp[u][0];
    		}
    		if(pr[u] == 2){
    			dp[v][1] = max(dp[v][1] + dp[u][0], dp[v][0] + dp[u][1]);
    			dp[v][0] += dp[u][0];
    		}
    	}
    	return;
    }
     
    int findSample(int n,int confidence[],int host[],int protocol[]){
    	for(ll i = 0; i < n; i++){
    		c[i] = confidence[i];
    	}
    	for(ll i = 1; i < n; i++){
    		pr[i] = protocol[i];
    		g[host[i]].pb(i);
    	}
    	dfs(0);
    	return max(dp[0][0], dp[0][1]);
    }
     
    /*int main(){
        fast_io;
     
     
     
        return 0;
    }
    */
# Verdict Execution time Memory Grader output
1 Correct 4 ms 5100 KB Output is correct
2 Correct 4 ms 5100 KB Output is correct
3 Correct 4 ms 5100 KB Output is correct
4 Correct 5 ms 5100 KB Output is correct
5 Correct 5 ms 5100 KB Output is correct
6 Correct 4 ms 5100 KB Output is correct
7 Correct 4 ms 5100 KB Output is correct
8 Correct 4 ms 5100 KB Output is correct
9 Correct 4 ms 5100 KB Output is correct
10 Correct 4 ms 5100 KB Output is correct
11 Correct 4 ms 5100 KB Output is correct
12 Correct 4 ms 5100 KB Output is correct
13 Correct 4 ms 5100 KB Output is correct
14 Correct 5 ms 5100 KB Output is correct
15 Correct 4 ms 5100 KB Output is correct
16 Correct 4 ms 5100 KB Output is correct
17 Correct 4 ms 5100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 5100 KB Output is correct
2 Correct 4 ms 5100 KB Output is correct
3 Correct 4 ms 5100 KB Output is correct
4 Correct 5 ms 5100 KB Output is correct
5 Correct 5 ms 5100 KB Output is correct
6 Correct 4 ms 5100 KB Output is correct
7 Correct 4 ms 5100 KB Output is correct
8 Correct 5 ms 5100 KB Output is correct
9 Correct 4 ms 5100 KB Output is correct
10 Correct 4 ms 5120 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 5100 KB Output is correct
2 Correct 5 ms 5100 KB Output is correct
3 Correct 4 ms 5100 KB Output is correct
4 Correct 5 ms 5100 KB Output is correct
5 Correct 5 ms 5100 KB Output is correct
6 Correct 4 ms 5100 KB Output is correct
7 Correct 4 ms 5100 KB Output is correct
8 Correct 4 ms 5100 KB Output is correct
9 Correct 4 ms 5100 KB Output is correct
10 Correct 4 ms 5100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 5100 KB Output is correct
2 Correct 4 ms 5100 KB Output is correct
3 Correct 5 ms 5100 KB Output is correct
4 Correct 4 ms 5100 KB Output is correct
5 Correct 4 ms 5228 KB Output is correct
6 Correct 4 ms 5100 KB Output is correct
7 Correct 4 ms 5100 KB Output is correct
8 Correct 5 ms 5100 KB Output is correct
9 Correct 4 ms 5100 KB Output is correct
10 Correct 4 ms 5100 KB Output is correct
11 Correct 4 ms 5100 KB Output is correct
12 Correct 4 ms 5100 KB Output is correct
13 Correct 4 ms 5100 KB Output is correct
14 Correct 4 ms 5100 KB Output is correct
15 Correct 5 ms 5100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 5100 KB Output is correct
2 Correct 4 ms 5100 KB Output is correct
3 Correct 4 ms 5100 KB Output is correct
4 Correct 4 ms 5100 KB Output is correct
5 Correct 4 ms 5100 KB Output is correct
6 Correct 4 ms 5100 KB Output is correct
7 Correct 4 ms 5100 KB Output is correct
8 Correct 4 ms 5100 KB Output is correct
9 Correct 4 ms 5228 KB Output is correct
10 Correct 5 ms 5228 KB Output is correct
11 Correct 4 ms 5100 KB Output is correct
12 Correct 4 ms 5100 KB Output is correct
13 Correct 5 ms 5100 KB Output is correct
14 Correct 5 ms 5100 KB Output is correct
15 Correct 5 ms 5100 KB Output is correct
16 Correct 4 ms 5100 KB Output is correct
17 Correct 4 ms 5100 KB Output is correct
18 Correct 4 ms 5100 KB Output is correct
19 Correct 4 ms 5100 KB Output is correct
20 Correct 5 ms 5100 KB Output is correct
21 Correct 5 ms 5100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 5100 KB Output is correct
2 Correct 4 ms 5100 KB Output is correct
3 Correct 4 ms 5100 KB Output is correct
4 Correct 4 ms 5100 KB Output is correct
5 Correct 4 ms 5100 KB Output is correct
6 Correct 4 ms 5100 KB Output is correct
7 Correct 4 ms 5100 KB Output is correct
8 Correct 4 ms 5100 KB Output is correct
9 Correct 4 ms 5100 KB Output is correct
10 Correct 4 ms 5100 KB Output is correct
11 Correct 4 ms 5100 KB Output is correct
12 Correct 57 ms 11244 KB Output is correct
13 Correct 27 ms 8812 KB Output is correct
14 Correct 49 ms 11628 KB Output is correct
15 Correct 50 ms 11648 KB Output is correct