제출 #604283

#제출 시각아이디문제언어결과실행 시간메모리
604283PlurmArt Collections (BOI22_art)C++17
20 / 100
107 ms280 KiB
#include "art.h"
#include <bits/stdc++.h>
using namespace std;

void solve(int N) {
  vector<int> order(N);
  iota(order.begin(), order.end(), 1);
  for (int it = N; it >= 1; it--) {
    int idx = find(order.begin(), order.end(), N - it + 1) - order.begin();
    order.erase(order.begin() + idx);
    order.insert(order.begin(), N - it + 1);
    int last = publish(order);
    for (int i = 1; i < N; i++) {
      swap(order[i - 1], order[i]);
      int cur = publish(order);
      // printf("PUBLISH got %d\n", cur);
      if (cur >= last) {
        swap(order[i - 1], order[i]);
        break;
      }
      last = cur;
    }
  }
  answer(order);
}

컴파일 시 표준 에러 (stderr) 메시지

interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...