답안 #64362

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
64362 2018-08-04T08:33:51 Z Just_Solve_The_Problem popa (BOI18_popa) C++11
0 / 100
17 ms 440 KB
#include "popa.h"
#include <bits/stdc++.h>

#define pb push_back
#define pii pair < int, int >
#define fr first
#define sc second
#define mk make_pair

using namespace std;

const int N = (int)1e3 + 7;

int pr[N];

int solve(int n, int left[], int right[]) {
  for (int i = 0; i < n; i++) {
    left[i] = right[i] = -1;
    pr[i] = -1;
  }
  for (int i = 0; i < n; i++) {
    int asd;
    if (i == 0) {
      asd = query(i, i, i, i + 1);
      if (asd) {
        pr[i + 1] = i;
        right[i] = i + 1;
      } else {
        pr[i] = i + 1;
        left[i + 1] = i;
      }
    } else if (i + 1 < n) {
      asd = query(i, i, i - 1, i);
      if (asd) {
        pr[i - 1] = i;
        left[i] = i - 1;
      } else {
        pr[i] = i - 1;
        right[i - 1] = i;
      }
    } else {
      asd = query(i, i, i - 1, i);
      if (asd) {
        pr[i - 1] = i;
        left[i] = i - 1;
      } else {
        pr[i] = i - 1;
        right[i - 1] = i;
      }
      asd = query(i, i, i, i + 1);
      if (asd) {
        pr[i + 1] = i;
        right[i] = i + 1;
      } else {
        pr[i] = i + 1;
        left[i + 1] = i;
      }
    }
  }
  int temp = 0;
  while (pr[temp] != -1) {
    temp = pr[temp];
  }
  return temp;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 376 KB invalid argument
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 440 KB invalid argument
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 17 ms 440 KB invalid argument
2 Halted 0 ms 0 KB -