Submission #274818

#TimeUsernameProblemLanguageResultExecution timeMemory
274818amoo_safarLast supper (IOI12_supper)C++17
100 / 100
182 ms10992 KiB
// That's How much we have in common #include "advisor.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define F first #define S second #define all(x) x.begin(), x.end() using namespace std; typedef pair<int, int> pii; void ComputeAdvice(int *C, int n, int k, int M) { assert(n + k <= M); vector<int> A(n + k, 0); for(int i = 0; i < k; i++) A[i] = i; for(int i = 0; i < n; i++) A[i + k] = C[i]; vector<int> LA(n, n + k), nx(n + k, 0); vector<int> inp(n + k + 1, 0); for(int i = n + k - 1; i >= 0; i--){ nx[i] = LA[A[i]]; inp[nx[i]] = i; LA[A[i]] = i; } set<pii> st; for(int i = 0; i < k; i++) st.insert({nx[i], A[i]}); vector<int> ans(n + k, 0); for(int i = k; i < n + k; i++){ if(st.count({i, A[i]})){ ans[inp[i]] = 1; st.erase({i, A[i]}); } else { st.erase(--st.end()); } st.insert({nx[i], A[i]}); } for(auto x : ans) WriteAdvice(x); //cerr << "! "; //for(auto x : ans) cerr << x; //cerr << '\n'; } /* 4 2 65000 2 0 3 0 */
#include "assistant.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define F first #define S second #define all(x) x.begin(), x.end() using namespace std; typedef pair<int, int> pii; void Assist(unsigned char *As, int n, int k, int R) { assert(R == n + k); vector<int> A(n + k, 0); for(int i = 0; i < k; i++) A[i] = i; //for(int i = 0; i < n; i++) A[i + k] = C[i]; set<pii> st; for(int i = 0; i < k; i++) st.insert({As[i], A[i]}); //cerr << "!! "; int x; for(int i = 0; i < n + k; i++){ x = As[i]; //cerr << x; } //cerr << '\n'; for(int i = k; i < n + k; i++){ A[i] = GetRequest(); if(st.count({1, A[i]})){ st.erase({1, A[i]}); } else { //cerr << "? " << st.begin() -> F << ' ' << st.begin() -> S << '\n'; assert((st.begin() -> F == 0)); PutBack(st.begin() -> S); st.erase(st.begin()); } st.insert({As[i], A[i]}); } }

Compilation message (stderr)

assistant.cpp: In function 'void Assist(unsigned char*, int, int, int)':
assistant.cpp:25:6: warning: variable 'x' set but not used [-Wunused-but-set-variable]
   25 |  int x;
      |      ^
#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...