# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
874078 | WongYiKai | Friend (IOI14_friend) | C++17 | 1 ms | 348 KiB |
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>
using namespace std;
int findSample(int n, int confidence[], int host[], int protocol[]){
int temp,temp2,test = 0,high = 0,test2 = 0;
for (int i=0;i<n;i++){
temp = confidence[i];
high = max(high,temp);
}
for (int i=1;i<n;i++){
if (protocol[i] != 2) test = 1;
if (protocol[i] != 0) test2 = 1;
}
if (test == 0){
return high;
}
if (test2 == 0){
vector<int> adjlist[n];
bool visited[n];
int col[n];
for (int i=1;i<n;i++){
visited[i] = false;
adjlist[i].push_back(host[i]);
adjlist[host[i]].push_back(i);
}
visited[0] = true;
col[0] = 0;
queue<int> pq;
pq.push(0);
int curr;
int red = confidence[0],blue = 0;
while (!pq.empty()){
curr = pq.front();
pq.pop();
for (int i=0;i<adjlist[curr].size();i++){
if (visited[adjlist[curr][i]] == false) {
pq.push(adjlist[curr][i]);
visited[adjlist[curr][i]] = true;
if (col[curr] == 0) {
col[adjlist[curr][i]] = 1;
blue += confidence[adjlist[curr][i]];
}
else if (col[curr] == 1) {
col[adjlist[curr][i]] = 0;
red += confidence[adjlist[curr][i]];
}
}
}
}
return max(red,blue);
}
}
Compilation message (stderr)
# | 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... |