Submission #744031

#TimeUsernameProblemLanguageResultExecution timeMemory
744031boyliguanhanLast supper (IOI12_supper)C++17
0 / 100
289 ms12704 KiB
#include "advisor.h" #include<bits/stdc++.h> using namespace std; void ComputeAdvice(int *C, int N, int K, int M) { int bits = log2(K); for(int i = 0; i < N; i++) for(int j = 0; j < bits; j++) WriteAdvice((bool)C[i]&1<<j); }
#include "assistant.h" #include<bits/stdc++.h> using namespace std; void Assist(unsigned char *A, int N, int K, int R) { priority_queue<pair<int, int>> q; int last[N], nxt[N]; memset(last, 1, sizeof last); int C[N], bits = log2(K); for(int i = 0; i < N; i++) for(int j = 0; j < bits; j++) C[i]|=A[i*bits+j]-'0' << j; for(int i = N; i--;) nxt[i] = last[C[i]], last[C[i]] = i; bool on[N]; memset(on, 0, sizeof on); for(int i = 0; i < K; i++) q.push({last[i], i}), on[i] = 1; for(int i = 0; i < N; i++) { int col = GetRequest(); if(!on[col]) { PutBack(q.top().second); on[q.top().second] = 0; q.pop(); q.push({nxt[i], col}); on[col] = 1; } } }

Compilation message (stderr)

assistant.cpp: In function 'void Assist(unsigned char*, int, int, int)':
assistant.cpp:13:24: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   13 |       C[i]|=A[i*bits+j]-'0' << j;
      |             ~~~~~~~~~~~^~~~
#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...