# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
874101 | WongYiKai | 친구 (IOI14_friend) | C++17 | 1 ms | 600 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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,test3 = 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 (protocol[i] != 1) test3 = 1;
}
if (test3 == 0){
int total = 0;
for (int i=0;i<n;i++){
total += confidence[i];
}
return total;
}
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);
}
}
컴파일 시 표준 에러 (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... |