Submission #775379

# Submission time Handle Problem Language Result Execution time Memory
775379 2023-07-06T10:34:48 Z boris_mihov Friend (IOI14_friend) C++17
11 / 100
1000 ms 3560 KB
#include "friend.h"
#include <algorithm>
#include <iostream>
#include <numeric>
#include <cassert>
#include <vector>

typedef long long llong;
const int MAXN = 100000 + 10;
const int INF  = 1e9;

int n;
int mask[MAXN];
int findSample(int N, int confidence[], int host[], int protocol[])
{
    n = N;
    for (int i = 1 ; i < n ; ++i)
    {
        if (protocol[i] == 0)
        {
            mask[i] = (1 << host[i]);
        }

        if (protocol[i] == 1)
        {
            mask[i] = mask[host[i]];
        }

        if (protocol[i] == 2)
        {
            mask[i] = mask[host[i]];
            mask[i] |= (1 << host[i]);
        }

        for (int j = 0 ; j < n ; ++j)
        {
            if (mask[i] & (1 << j))
            {
                assert(i != j);
                mask[j] |= (1 << i);
            }
        }
    }

    int ans = 0;
    for (int set = 0 ; set < (1 << n) ; ++set)
    {
        int curr = 0;
        bool good = true;
        for (int i = 0 ; i < n ; ++i)
        {
            if (set & (1 << i))
            {
                curr += confidence[i];
                if (mask[i] & set)
                {
                    good = false;
                    break;
                }
            }
        }

        if (good)
        {
            ans = std::max(ans, curr);
        }
    }

	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 1 ms 256 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1091 ms 212 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 468 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Incorrect 1 ms 212 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 316 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Incorrect 1 ms 328 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Runtime error 24 ms 3560 KB Execution killed with signal 6
13 Halted 0 ms 0 KB -