#include "king.h"
#include <algorithm>
long long SendInfo(std::vector<int> W, std::vector<int> C) {
sort(W.begin(), W.end());
sort(C.begin(), C.end());
int last = 0;
long long ans = 0;
for(int w : W)
{
while(last < C.size() && w > C[last]) last++;
if(last < C.size() && w <= C[last]) ans = w;
}
return ans;
}
#include "vassal.h"
#include <algorithm>
#include <utility>
typedef std::pair<int, int> pii;
long long BB;
std::vector<pii> CC;
int isSeated[1100000];
void Init(long long B, std::vector<int> C){
int N = C.size();
BB = B;
for(int i = 0; i < N; i++)
CC.emplace_back(C[i], i);
sort(CC.begin(), CC.end());
for(int i = 0; i < 1100000; i++) isSeated[i] = -1;
}
int Maid(int W) {
if(W > BB) return -1;
auto it = lower_bound(CC.begin(), CC.end(), pii(W, -1));
if(it == CC.end()) return -1;
int orig_pos = it->second, pos = it->second;
while(isSeated[pos] >= 0) pos = isSeated[pos]+1;
if(pos >= CC.size()) return -1;
isSeated[orig_pos] = pos;
isSeated[pos] = pos;
// printf("W = %d orig = %d pos = %d\n", W, orig_pos, pos);
return pos;
}
Compilation message
king.cpp: In function 'long long int SendInfo(std::vector<int>, std::vector<int>)':
king.cpp:11:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(last < C.size() && w > C[last]) last++;
~~~~~^~~~~~~~~~
king.cpp:12:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(last < C.size() && w <= C[last]) ans = w;
~~~~~^~~~~~~~~~
vassal.cpp: In function 'int Maid(int)':
vassal.cpp:24:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(pos >= CC.size()) return -1;
~~~~^~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
8 ms |
5112 KB |
Correct |
2 |
Correct |
7 ms |
5112 KB |
Correct |
3 |
Correct |
8 ms |
5104 KB |
Correct |
4 |
Correct |
8 ms |
5108 KB |
Correct |
5 |
Correct |
8 ms |
5112 KB |
Correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
56 ms |
7972 KB |
Correct |
2 |
Correct |
122 ms |
10216 KB |
Correct |
3 |
Correct |
566 ms |
10804 KB |
Correct |
4 |
Correct |
111 ms |
13476 KB |
Correct |
5 |
Correct |
126 ms |
13328 KB |
Correct |
6 |
Correct |
126 ms |
13368 KB |
Correct |
7 |
Correct |
584 ms |
13436 KB |
Correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
62 ms |
7992 KB |
B = 999992 |
2 |
Partially correct |
107 ms |
10252 KB |
B = 999980 |
3 |
Partially correct |
181 ms |
10676 KB |
B = 996891 |
4 |
Partially correct |
118 ms |
13500 KB |
B = 999968 |
5 |
Partially correct |
115 ms |
13320 KB |
B = 999982 |
6 |
Partially correct |
115 ms |
13312 KB |
B = 999987 |
7 |
Partially correct |
194 ms |
13340 KB |
B = 997852 |
8 |
Correct |
92 ms |
13496 KB |
Correct |