답안 #1040928

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1040928 2024-08-01T12:27:23 Z MeGustaElArroz23 코알라 (APIO17_koala) C++14
15 / 100
28 ms 856 KB
#include "koala.h"

#include<bits/stdc++.h>

#define vi vector<int>
#define pb push_back

using namespace std;


int minValue(int n, int W) { //N=W
    int* A = new int[n];
    int* B = new int[n];
    for (int i=0;i<n;i++) A[i]=1;
    playRound(A,B);
    playRound(A,B);
    playRound(A,B);
    vi grandes;
    for (int i=0;i<n;i++) if (B[i]==2) grandes.pb(i);

    for (int i=0;i<n;i++) A[i]=0;
    A[grandes[0]]=2;
    A[grandes[1]]=n-2;

    playRound(A,B);
    for (int i=0;i<n;i++) if (i!=grandes[1] && B[i]==0) return i;
}

int maxValue(int n, int W) {
    int* A = new int[n];
    int* B = new int[n];

    vi isgrande(n,1);
    int grandes = n;
    while (grandes>1){
        int c=n%grandes;
        for (int i=0;i<n;i++){
            if (isgrande[i]) A[i]=n/grandes;
            else if (c){
                A[i]=1;
                c--;
            }
            else A[i]=0;
        }

        playRound(A,B);
        for (int i=0;i<n;i++) if (isgrande[i] && A[i]>=B[i]){
            grandes--;
            isgrande[i]=0;
        }
    }
    for (int i=0;i<n;i++) if (isgrande[i]) return i;
    assert(0);
}

int greaterValue(int N, int W) {
    // TODO: Implement Subtask 3 solution here.
    // You may leave this function unmodified if you are not attempting this
    // subtask.
    return 0;
}


bool cmp(int a, int b){
    if (a==b) return 0;
    int* A = new int[100];
    int* B = new int[100];

    for (int i=0;i<100;i++) A[i]=0;
    A[a]=A[b]=100;
    playRound(A,B);
    // cerr << "q: ";
    // for (int i=0;i<100;i++) cerr << A[i] << ' ';
    // cerr << endl;
    // for (int i=0;i<100;i++) cerr << B[i] << ' ';
    // cerr << endl;
    return B[a]<=100;
}

void allValues(int n, int W, int *P) {
    if (W == 2*n) {
        vi v(n);
        for (int i=0;i<n;i++) v[i]=i;
        sort(v.begin(),v.end(),cmp);
        for (int i=0;i<n;i++) P[v[i]]=i+1;
        return;
    } else {
        // TODO: Implement Subtask 5 solution here.
        // You may leave this block unmodified if you are not attempting this
        // subtask.
    }
}

Compilation message

koala.cpp: In function 'int minValue(int, int)':
koala.cpp:18:8: warning: control reaches end of non-void function [-Wreturn-type]
   18 |     vi grandes;
      |        ^~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 344 KB Output is correct
2 Correct 8 ms 484 KB Output is correct
3 Correct 8 ms 508 KB Output is correct
4 Correct 8 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 848 KB Output is correct
2 Incorrect 28 ms 856 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -