Submission #723478

# Submission time Handle Problem Language Result Execution time Memory
723478 2023-04-13T22:56:36 Z n0sk1ll Koala Game (APIO17_koala) C++14
19 / 100
12 ms 256 KB
#include <bits/stdc++.h>

#define FAST ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);cerr.tie(0)
#define mp make_pair
#define xx first
#define yy second
#define pb push_back
#define pf push_front
#define popb pop_back
#define popf pop_front
#define all(x) x.begin(),x.end()
#define ff(i,a,b) for (int i = a; i < b; i++)
#define fff(i,a,b) for (int i = a; i <= b; i++)
#define bff(i,a,b) for (int i = b-1; i >= a; i--)
#define bfff(i,a,b) for (int i = b; i >= a; i--)

using namespace std;
long double typedef ld;
unsigned int typedef ui;
long long int typedef li;
pair<int,int> typedef pii;
pair<li,li> typedef pli;
pair<ld,ld> typedef pld;
vector<vector<int>> typedef graph;
unsigned long long int typedef ull;
//const int mod = 998244353;
const int mod = 1000000007;







//Note to self: Check for overflow

#include "koala.h"

int R[100];
int B[100];

int minValue(int n, int w)
{
    B[0]=1;
    playRound(B,R);
    ff(i,0,n) if (R[i]==0) return i;
    return 0;
}

int maxValue(int n, int w)
{
    ff(i,0,n) B[i]=1;
    int keci=n;

    while (keci>1)
    {
        playRound(B,R);
        ff(i,0,n)
        {
            if (R[i]==0)
            {
                if (B[i]>0) keci--;
                B[i]=0;
            }
        }
        ff(i,0,n)
        {
            if (R[i]!=0 && B[i]!=0)
            {
                B[i]=w/keci;
            }
        }
    }

    ff(i,0,n) if (B[i]>0) return i;

    return 0;
}

///

int greaterValue(int n, int w)
{
    ff(i,2,n) B[i]=1;
    playRound(B,R);

    ff(i,2,n)
    {
        if (R[i]) B[i]=0;
        else B[i]=2;
    }

    playRound(B,R);
    if (R[0] && !R[1]) return 0;
    if (!R[0] && R[1]) return 1;

    wut:

    /*ff(i,0,n) cout<<B[i]<<" "; cout<<endl;
    ff(i,0,n) cout<<R[i]<<" "; cout<<endl;
    cout<<endl;*/


    ff(i,2,n) if (B[i]==2)
    {
        B[i]=1; break;
    }

    playRound(B,R);

    if (R[0] && !R[1]) return 0;
    if (!R[0] && R[1]) return 1;

    goto wut;
}

bool determined[100];
int kolko=0;

void allValues(int n, int w, int *P)
{
    if (w == 2*n)
    {
        // TODO: Implement Subtask 4 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
    else
    {
        while (kolko--)
        {
            fff(i,0,n) if (determined[i]) B[i]=1;
        }
    }
}

/*

4 1
4 4
1 2 3 4

4 1
8 8
2 8 4 7 6 1 5 3

3 1
4 4
2 1 3 4

*/
# Verdict Execution time Memory Grader output
1 Correct 5 ms 208 KB Output is correct
2 Correct 4 ms 208 KB Output is correct
3 Correct 3 ms 208 KB Output is correct
4 Correct 3 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 208 KB Output is correct
2 Correct 12 ms 208 KB Output is correct
3 Correct 11 ms 208 KB Output is correct
4 Correct 11 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 208 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 208 KB Output isn't correct
2 Halted 0 ms 0 KB -