제출 #87202

#제출 시각아이디문제언어결과실행 시간메모리
87202shoemakerjo최후의 만찬 (IOI12_supper)C++14
0 / 100
48 ms13676 KiB
#include "advisor.h" #include <bits/stdc++.h> using namespace std; #define pii pair<int, int> #define maxn 100010 int curind[2*maxn]; int myuse[2*maxn]; bool isremoved[maxn]; bool curvals[maxn]; int mp[maxn]; int nums[maxn]; void ComputeAdvice(int *C, int N, int K, int M) { for (int i = 0; i < K; i++) { nums[i] = i; } for (int i = K; i < K+N; i++) { nums[i] = C[i-K]; } for (int i = 0; i < N; i++) { curind[i] = N+1; } for (int i = N-1; i >= 0; i--) { int val = C[i]; myuse[i + K] = curind[val]; curind[val] = i+K; } for (int i = K-1; i >= 0; i--) { myuse[i] = curind[i]; curind[i] = i; } set<pii> curstuff; for (int i = 0; i < K; i++) { curstuff.insert(pii(myuse[i], i)); curvals[i] = true; mp[i] = myuse[i]; } for (int i = K; i < N+K; i++) { int val = C[i-K]; if (curvals[val]) { curstuff.erase(curstuff.find(pii(myuse[mp[val]], mp[val]))); mp[val] = i; curstuff.insert(pii(myuse[i], i)); } else { pii cur = *(curstuff.rbegin()); curvals[nums[cur.second]] = false; isremoved[cur.second] = true; curstuff.erase(curstuff.find(cur)); mp[val] = i; curstuff.insert(pii(myuse[i], i)); } } for (int i = 0; i < K+N; i++) { if (isremoved[i]) WriteAdvice(1); else WriteAdvice(0); } }
#include "assistant.h" #include <bits/stdc++.h> using namespace std; #define maxn 100010 #define nums fakenums #define curvals asdklasfdgashdgflkas set<int> toremo; int nums[maxn]; bool curvals[maxn]; void Assist(unsigned char *A, int N, int K, int R) { for (int i = 0; i < K; i++) { if (A[i] == 1) toremo.insert(i); curvals[i] = true; } for (int i = 0; i < N; i++) { int val = GetRequest(); nums[i+K] = val; if (!curvals[val]) { curvals[val] = true; int tmp = *(toremo.begin()); curvals[nums[tmp]] = false; toremo.erase(tmp); PutBack(nums[tmp]); } if (A[i+K] == 1) { toremo.insert(i+K); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...