답안 #1074623

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1074623 2024-08-25T11:28:07 Z noyancanturk 코알라 (APIO17_koala) C++17
37 / 100
52 ms 600 KB
#include "koala.h"

#include<bits/stdc++.h>
using namespace std;

int b[100],r[100];

int minValue(int n, int w) {
  for(int i=0;i<n;i++){
    b[i]=0;
  }
  b[0]=1;
  playRound(b,r);
  if(r[0]==2){
    for(int i=1;i<n;i++){
      if(r[i]==0)return i;
    }
  }
  return 0;
}

int maxValue(int n, int w) {
  bool ok[n];
  memset(ok,1,n);
  for(int i=1;i<=16;i<<=1){
    if(i==8)i=11;
    for(int j=0;j<n;j++){
      if(ok[j]){
        b[j]=i;
      }else{
        b[j]=0;
      }
    }
    playRound(b,r);
    int cnt=0;
    for(int j=0;j<n;j++){
      if(ok[j]){
        if(i<r[j]){
          cnt++;
        }else{
          ok[j]=0;
        }
      }
    }
  }
  for(int i=0;i<n;i++)if(ok[i])return i;
  return -1;
}

int trycnt(int d,int n){
  for(int i=0;i<n;i++){
    b[i]=0;
  }
  b[0]=b[1]=d;
  playRound(b,r);
  if((d<r[0])!=(d<r[1])){
    if(d<r[0])return 0;
    return 1;
  }
  if(d<r[0])return 2;
  return 3;
}

int greaterValue(int n,int w) {
  int res=trycnt(4,n);
  if(res<2)return res;
  if(res==2){
    res=trycnt(6,n);
    if(res<2)return res;
    res=trycnt(9,n);
    return res;
  }
  res=trycnt(2,n);
  if(res<2)return res;
  return !minValue(n,w);
}

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 {
      // TODO: Implement Subtask 5 solution here.
      // You may leave this block unmodified if you are not attempting this
      // subtask.
  }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 344 KB Output is correct
2 Correct 3 ms 344 KB Output is correct
3 Correct 3 ms 344 KB Output is correct
4 Correct 3 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 344 KB Output is correct
2 Correct 9 ms 344 KB Output is correct
3 Correct 10 ms 344 KB Output is correct
4 Correct 9 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 51 ms 600 KB Output is correct
2 Correct 52 ms 468 KB Output is correct
3 Correct 50 ms 344 KB Output is correct
4 Correct 45 ms 340 KB Output is correct
5 Correct 47 ms 464 KB Output is correct
6 Correct 48 ms 344 KB Output is correct
7 Correct 48 ms 344 KB Output is correct
8 Correct 46 ms 344 KB Output is correct
9 Correct 44 ms 344 KB Output is correct
10 Correct 44 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 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -