제출 #577769

#제출 시각아이디문제언어결과실행 시간메모리
577769kingfran1907Art Collections (BOI22_art)C++17
100 / 100
1657 ms692 KiB
#include "art.h"
#include <bits/stdc++.h>
using namespace std;
//
// --- Sample implementation for the task art ---
//
// To compile this program with the sample grader, place:
//     art.h art_sample.cpp sample_grader.cpp
// in a single folder, then open the terminal in this directory (right-click onto an empty spot in the directory,
// left click on "Open in terminal") and enter e.g.:
//     g++ -std=c++17 art_sample.cpp sample_grader.cpp
// in this folder. This will create a file a.out in the current directory which you can execute from the terminal
// as ./a.out
// See task statement or sample_grader.cpp for the input specification
//

vector< int > f(int n, int x) {
	vector< int > out;
	for (int i = x + 1; i <= n; i++) out.push_back(i);
	for (int i = 1; i <= x; i++) out.push_back(i);
	return out;
}

int qs[4010];
int query(vector< int > a) {
	if (qs[a[0]] != -1) return qs[a[0]];
	return qs[a[0]] = publish(a);
}

void solve(int n) {
	vector< int > sol(n);
	memset(qs, -1, sizeof qs);
    for (int i = 1; i <= n; i++) {
    	vector< int > a = f(n, i - 1);
    	vector< int > b = f(n, i);
    	
    	int ta = query(a);
    	int tb = query(b);
    	
    	tb -= n - 1;
    	int ind = (ta - tb) / 2;
    	sol[ind] = i;
	}
    answer(sol);
}

컴파일 시 표준 에러 (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...