This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
//#include "friend.h"
using namespace std;
#define TL ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define rall(s) s.rbegin(),s.rend()
#define all(s) s.begin(),s.end()
#define pb push_back
#define se second
#define fi first
#define ll long long
#define ld long double
#define YES cout<<"YES\n"
#define Yes cout<<"Yes\n"
#define yes cout<<"yes\n"
#define NO cout<<"NO\n"
#define No cout<<"No\n"
#define no cout<<"no\n"
const int N = 5e5 + 9 , mod = 1e9 + 7;
ll a[N] , b[N] , dp[N] , c[N] , d[N] ;
int findSample(int n,int confidence[],int host[],int protocol[]){
for(int i = 0; i < n; i++)
d[i] = confidence[i];
for(int i = n - 1; i > 0; i--){
int x = host[i];
if(protocol[i] == 0){
d[x] += dp[i];
dp[x] = max(dp[x] + d[i], dp[x] + dp[i]);
}else if(protocol[i] == 1){
d[x] = max({d[x] + d[i] ,d[x] + dp[i] , dp[x] + d[i]});
dp[x] += dp[i];
}else {
d[x] = max(d[x] + dp[i], dp[x] + d[i]);
dp[x] += dp[i];
}
}
int ans = max(d[0] , dp[0]);
return ans;
}
/*
int main(){
TL;
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int t = 1;
// cin>>t;
while(t--)
{
solve();
}
}*/
// Author : حسن
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |