Submission #242398

# Submission time Handle Problem Language Result Execution time Memory
242398 2020-06-27T15:23:41 Z joseacaz Friend (IOI14_friend) C++17
19 / 100
1000 ms 5472 KB
#include "friend.h"
#include <bits/stdc++.h>

#define pb push_back

using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

#define dbg(x) cerr << "[LINE: " << __LINE__ << "] = " << x << "\n"

const int MAXN = 1005;
int prot[3], on[MAXN];
ll aux, ans;
vi Graph[MAXN];

// Find out best sample
int findSample(int N, int confidence[], int host[], int protocol[])
{
    if(N > 1000)
        return 0;

    for(int i = 1; i < N; i++)
    {
        prot[protocol[i]]++;
        if(protocol[i] == 0)
        {
            Graph[host[i]].pb(i);
            Graph[i].pb(host[i]);
        }
        else if(protocol[i] == 1)
        {
            for(auto v : Graph[host[i]])
            {
                Graph[v].pb(i);
                Graph[i].pb(v);
            }
        }
        else if(protocol[i] == 2)
        {
            for(auto v : Graph[host[i]])
            {
                Graph[v].pb(i);
                Graph[i].pb(v);
            }
            Graph[host[i]].pb(i);
            Graph[i].pb(host[i]);
        }
    }
    for(int i = 0; i < N; i++)  
    {
        cerr << i << ": ";
        for(auto j : Graph[i])
            cerr << j << " ";
        cerr << "\n";
    }
    
    //S1
    if(N <= 10)
    {
        for(int i = 0; i < (1 << N); i++)
        {
            aux = 0;
            for(int j = 0; j < N; j++)
            {
                on[j] = 0;
                if(i & (1 << j))
                {
                    on[j] = 1;
                    cerr << j << " ";
                    aux += confidence[j];
                }
            }
            cerr << "\n";
            
            bool ind = 1;
            for(int node = 0; node < N; node++)
                if(on[node])
                    for(auto j : Graph[node])
                        if(on[j])
                            ind = 0;
            if(!ind)
                continue;
            dbg(aux);
            ans = max(ans, aux);
        }
    }
    //S2
    else if(prot[1] == N - 1)
    {
        for(int i = 0; i < N; i++)
            ans += confidence[i];
    }
    //S3
    else if(prot[2] == N - 1)
    {
        for(int i = 0; i < N; i++)
            ans = max(ans, (ll)confidence[i]);
    }
    //S4
    else if(prot[0] == N - 1)
    {
        
    }
    return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 5 ms 384 KB Output is correct
6 Correct 5 ms 384 KB Output is correct
7 Correct 6 ms 384 KB Output is correct
8 Correct 5 ms 384 KB Output is correct
9 Correct 6 ms 384 KB Output is correct
10 Correct 5 ms 384 KB Output is correct
11 Correct 5 ms 384 KB Output is correct
12 Correct 5 ms 384 KB Output is correct
13 Correct 6 ms 384 KB Output is correct
14 Correct 5 ms 384 KB Output is correct
15 Correct 5 ms 384 KB Output is correct
16 Correct 25 ms 384 KB Output is correct
17 Correct 31 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 384 KB Output is correct
2 Correct 7 ms 384 KB Output is correct
3 Correct 7 ms 384 KB Output is correct
4 Correct 9 ms 384 KB Output is correct
5 Correct 11 ms 384 KB Output is correct
6 Correct 7 ms 384 KB Output is correct
7 Correct 7 ms 384 KB Output is correct
8 Correct 11 ms 384 KB Output is correct
9 Correct 9 ms 384 KB Output is correct
10 Correct 10 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 689 ms 1984 KB Output is correct
2 Execution timed out 1090 ms 5472 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 512 KB Output is correct
5 Incorrect 18 ms 384 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 5 ms 384 KB Output is correct
6 Correct 5 ms 384 KB Output is correct
7 Correct 5 ms 384 KB Output is correct
8 Correct 5 ms 384 KB Output is correct
9 Incorrect 18 ms 512 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 6 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 5 ms 384 KB Output is correct
6 Correct 5 ms 384 KB Output is correct
7 Correct 6 ms 384 KB Output is correct
8 Correct 5 ms 384 KB Output is correct
9 Correct 6 ms 384 KB Output is correct
10 Correct 5 ms 384 KB Output is correct
11 Correct 5 ms 384 KB Output is correct
12 Incorrect 41 ms 1528 KB Output isn't correct
13 Halted 0 ms 0 KB -