이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "teams.h"
#include <bits/stdc++.h>
#define FOR(i, x, y) for (int i = x; i < y; i++)
using namespace std;
multiset<pair<int, int>> students;
void init(int N, int A[], int B[]) {
FOR(i, 0, N) students.insert({B[i], A[i]});
}
int can(int M, int K[]) {
sort(K, K + M);
vector<pair<int, int>> removed;
FOR(i, 0, M) {
vector<pair<int, int>> to_remove;
for (pair<int, int> j : students) {
if (K[i] <= j.first && K[i] >= j.second) to_remove.push_back(j);
if (K[i] > j.first || to_remove.size() == K[i]) break;
}
if (to_remove.size() != K[i]) {
for (pair<int, int> j : removed) students.insert(j);
return 0;
}
for (pair<int, int> j : to_remove) {
students.erase(students.find(j));
removed.push_back(j);
}
}
for (pair<int, int> j : removed) students.insert(j);
return 1;
}
컴파일 시 표준 에러 (stderr) 메시지
teams.cpp: In function 'int can(int, int*)':
teams.cpp:19:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (K[i] > j.first || to_remove.size() == K[i]) break;
~~~~~~~~~~~~~~~~~^~~~~~~
teams.cpp:21:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (to_remove.size() != K[i]) {
~~~~~~~~~~~~~~~~~^~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |