Submission #792056

# Submission time Handle Problem Language Result Execution time Memory
792056 2023-07-24T14:37:41 Z caganyanmaz Friend (IOI14_friend) C++17
19 / 100
25 ms 1364 KB
#include <bits/stdc++.h>
#define pb push_back
#include "friend.h"
using namespace std;

int n;
int *conf;
int *h;
int *p;

constexpr static int IAM = 0;
constexpr static int MYF = 1;
constexpr static int WER = 2;

constexpr static int MX1 = 10;
int c[MX1][MX1];

int subtask1()
{
        for (int i = 1; i < n; i++)
        {
                if (p[i] == IAM || p[i] == WER)
                        c[h[i]][i] = c[i][h[i]] = 1;
                if (p[i] == MYF || p[i] == WER)
                        for (int j = 0; j < i; j++)
                                if (c[j][h[i]])
                                        c[j][i] = c[i][j] = 1;
        }
        int res = 0;
        for (int i = 0; i < (1<<n); i++)
        {
                vector<int> v;
                for (int j = 0; j < n; j++)
                        if (i & (1<<j))
                                v.pb(j);
                bool found = false;
                for (int j = 0; j < v.size(); j++)
                        for (int k = j+1; k < v.size(); k++)
                                if (c[v[j]][v[k]])
                                        found = true;
                if (found)
                        continue;
                int sum = 0;
                for (int i : v)
                        sum += conf[i];
                res = max(res, sum);
        }
        return res;
}

int subtask2()
{
        int sum = 0;
        for (int i = 0; i < n; i++)
                sum += conf[i];
        return sum;
}

// Find out best sample
int findSample(int _n,int _conf[],int _h[],int _p[])
{
        n = _n;
        conf = _conf;
        h = _h;
        p = _p;
        if (n <= 10)
                return subtask1();
        bool seen_wer = p[1] == WER;
        int current = p[1];
        for (int i = 2; i < n; i++)
        {
                if (p[i] != current)
                        current = -1;
                if (p[i] == WER)
                        seen_wer = true;
        }
        if (current == MYF)
                return subtask2();
        return 0;
}

Compilation message

friend.cpp: In function 'int subtask1()':
friend.cpp:37:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |                 for (int j = 0; j < v.size(); j++)
      |                                 ~~^~~~~~~~~~
friend.cpp:38:45: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |                         for (int k = j+1; k < v.size(); k++)
      |                                           ~~^~~~~~~~~~
friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:68:14: warning: variable 'seen_wer' set but not used [-Wunused-but-set-variable]
   68 |         bool seen_wer = p[1] == WER;
      |              ^~~~~~~~
# 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 1 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 0 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
# 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 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 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 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 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 1 ms 212 KB Output is correct
9 Incorrect 1 ms 212 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 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 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Incorrect 25 ms 1364 KB Output isn't correct
13 Halted 0 ms 0 KB -