#include "king.h"
long long SendInfo(std::vector<int> W, std::vector<int> C) {
return 0;
}
#include "vassal.h"
#include <algorithm>
std::vector<int> realC;
int check[100000] = {};
int N;
int find(int target, int start, int end) {
int location = (start + end) / 2;
if (target == realC[location]) return location;
if (start == end) {
if (target > realC[location]) return location+1;
return location;
}
if (target > realC[location]) return find(target, location+1, end);
return find(target, start, location-1);
}
void Init(long long B, std::vector<int> C) {
realC = C;
sort(realC.begin(), realC.end());
N = realC.size();
}
int Maid(int W) {
int location = find(W, 0, N-1);
if (location == N - 1 && realC[location] < W) return -1;
while (location < N) {
if (!check[location]) {
check[location] = 1;
break;
}
location++;
}
return location;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
788 KB |
Correct |
2 |
Execution timed out |
1070 ms |
640 KB |
Time limit exceeded |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1081 ms |
3388 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1091 ms |
3368 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |