이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
int getWins(std::vector<int> knights, int C, int *S, int *E, int R) {
int res = 0;
for(int i = 0; i < C; ++i) {
std::vector<int> newknights;
int best = 0;
for(int j = S[i]; j <= E[i]; ++j)
best = std::max(best, knights[j]);
for(int j = 0; j < S[i]; ++j)
newknights.push_back(knights[j]);
newknights.push_back(best);
for(int j = E[i] + 1; j < knights.size(); ++j)
newknights.push_back(knights[j]);
knights = newknights;
if(best == R)
++res;
}
return res;
}
int GetBestPosition(int N, int C, int R, int *K, int *S, int *E) {
std::vector<int> knights;
knights.push_back(R);
for(int i = 0; i < N - 1; ++i)
knights.push_back(K[i]);
int bestpos = 0, res = getWins(knights, C, S, E, R);
for(int P = 1; P < N; ++P) {
std::swap(knights[P], knights[P - 1]);
int res2 = getWins(knights, C, S, E, R);
if(res2 > res) {
res = res2;
bestpos = P;
}
}
return bestpos;
}
컴파일 시 표준 에러 (stderr) 메시지
tournament.cpp: In function 'int getWins(std::vector<int>, int, int*, int*, int)':
tournament.cpp:14:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int j = E[i] + 1; j < knights.size(); ++j)
~~^~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |