제출 #514917

#제출 시각아이디문제언어결과실행 시간메모리
514917AdamGS자동 인형 (IOI18_doll)C++17
37 / 100
84 ms13608 KiB
#include "doll.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
const int LIM=2e5+7;
int lt[2*LIM], rt[2*LIM], n, m, N=1;
vector<int>V;
void zejdz(int v, int akt, int p) {
	if(v>=N) {
		lt[v]=V[akt];
		rt[v]=V[akt+p];
		return;
	}
	zejdz(2*v, akt, 2*p);
	zejdz(2*v+1, akt+p, 2*p);
}
void create_circuit(int M, vector<int>A) {
	V=A;
	V.pb(0);
	m=M;
	n=V.size();
	while(2*N<n) N*=2;
	reverse(all(V));
	while(V.size()<2*N) V.pb(-1);
	reverse(all(V));
	rep(i, 2*N) lt[i]=rt[i]=-1;
	for(int i=1; i<N; ++i) {
		lt[i]=-2*i;
		rt[i]=-2*i-1;
	}
	zejdz(1, 0, 1);
	vector<int>C, X, Y;
	rep(i, m+1) C.pb(-1);
	rep(i, 2*N-1) {
		X.pb(lt[i+1]);
		Y.pb(rt[i+1]);
	}
	answer(C, X, Y);
}

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

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:30:16: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   30 |  while(V.size()<2*N) V.pb(-1);
      |        ~~~~~~~~^~~~
#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...