제출 #169758

#제출 시각아이디문제언어결과실행 시간메모리
169758MounirXylophone (JOI18_xylophone)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

void solve(int N){
	int nVals = N;
	vector<int> vals(nVals), diffVoisin(nVals), signe(nVals);
	for (int& val : vals)
		val = 0;
	
	for (int iVal = 0; iVal < nVals - 1; ++iVal)
		diffVoisin[iVal] = query(iVal + 1, iVal + 2);
		
	for (int signe0 = -1; signe0 <= 1; signe0 += 2){
		signe[0] = signe0;
		for (int iVal = 1; iVal < nVals - 1; ++iVal){
			if (query(iVal + 1, min(nVals, iVal + 3)) == diffVoisin[iVal] + diffVoisin[iVal + 1])
				signe[iVal] = signe[iVal - 1];
			else
				signe[iVal] = -signe[iVal - 1];
		}
		//On vérifie que ca fait une permutation, càd que tout soit distinct
		vals[0] = 1;
		set<int> verif;
		for (int iVal = 0; iVal < nVals - 1; ++iVal){
			vals[iVal + 1] = vals[iVal] + signe[iVal] * diffVoisin[iVal];
			verif.insert(vals[iVal]);
		}
		
	//	for (int& i : vals)
		//	cout << i << " ";
		//cout << endl;
		verif.insert(vals[nVals - 1]);
	
		if ((int)verif.size() == nVals && vals[0] < vals[nVals - 1]){
			int delta = 1 - *verif.begin();
			for (int iVal = 0; iVal < nVals; ++iVal)
				answer(iVal + 1, vals[iVal] + delta);
		}
	}
}

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

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:11:22: error: 'query' was not declared in this scope
   diffVoisin[iVal] = query(iVal + 1, iVal + 2);
                      ^~~~~
xylophone.cpp:16:8: error: 'query' was not declared in this scope
    if (query(iVal + 1, min(nVals, iVal + 3)) == diffVoisin[iVal] + diffVoisin[iVal + 1])
        ^~~~~
xylophone.cpp:37:5: error: 'answer' was not declared in this scope
     answer(iVal + 1, vals[iVal] + delta);
     ^~~~~~
xylophone.cpp:37:5: note: suggested alternative: 'assert'
     answer(iVal + 1, vals[iVal] + delta);
     ^~~~~~
     assert