Submission #874101

# Submission time Handle Problem Language Result Execution time Memory
874101 2023-11-16T09:13:54 Z WongYiKai Friend (IOI14_friend) C++17
16 / 100
1 ms 600 KB
#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);
        
    }
}

Compilation message

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:43:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |             for (int i=0;i<adjlist[curr].size();i++){
      |                          ~^~~~~~~~~~~~~~~~~~~~~
friend.cpp:5:13: warning: unused variable 'temp2' [-Wunused-variable]
    5 |    int temp,temp2,test = 0,high = 0,test2 = 0,test3 = 0;
      |             ^~~~~
friend.cpp:61:1: warning: control reaches end of non-void function [-Wreturn-type]
   61 | }
      | ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 600 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 600 KB Output is correct
6 Incorrect 1 ms 348 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 432 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Incorrect 0 ms 344 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -