답안 #1011304

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1011304 2024-06-30T10:08:04 Z amirhoseinfar1385 최후의 만찬 (IOI12_supper) C++17
0 / 100
112 ms 7804 KB
#include "advisor.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn=100000+10;
set<pair<int,int>>st;
set<int>wtf;
int n,k,m,lgk;
int allk[maxn],nxt[maxn],last[maxn];

void wri(int x){
  for(int i=0;i<=lgk;i++){
    WriteAdvice((x>>i)&1);
  }
}
void ComputeAdvice(int *C, int N, int K, int M) {
  for(int i=0;;i++){
    if((1<<i)>=k){
      lgk=i;
      break;
    }
  }
  n=N;
  k=K;
  m=M;
  for(int i=0;i<maxn;i++){
    last[i]=n+1;
  }
  for(int i=n-1;i>=0;i--){
    nxt[i]=last[C[i]];
    last[C[i]]=i;
  }
  for(int i=0;i<k;i++){
    allk[i]=i;
    wtf.insert(i);
    st.insert(make_pair(last[allk[i]],i));
  }
  for(int i=0;i<N;i++){
    if(wtf.count(C[i])==1){
      continue;
    }
    int z=(*st.rbegin()).second;
    wri(z);
    st.erase((*st.rbegin()));
    wtf.erase(allk[z]);
    allk[z]=C[i];
    wtf.insert(C[i]);
    st.insert(make_pair(last[i],z));
  }
}
#include "assistant.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn=100000+10;
int all[maxn],lgk2,n2,k2,r2;
set<int>st2;

void Assist(unsigned char *A, int N, int K, int R) {
   for(int i=0;;i++){
    if((1<<i)>=k2){
      lgk2=i;
      break;
    }
  }
  n2=N;
  k2=K;
  r2=R;
  for(int i=0;i<k2;i++){
    all[i]=i;
    st2.insert(i);
  }
  int unnow=0;
  for(int i=0;i<n2;i++){
    int req=GetRequest();
    if(st2.count(req)==1){
      continue;
    }
    int x=0;
    for(int i=0;i<=lgk2;i++){
      if(A[unnow]==1){
        x+=(1<<i);
      }
      unnow++;
    }
   PutBack(all[x]);
   st2.erase(all[x]);
   all[x]=req;
   st2.insert(req); 
  }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1052 KB Output is correct
2 Incorrect 1 ms 1052 KB Output isn't correct - not an optimal way
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 9 ms 1888 KB Output isn't correct - not an optimal way
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 78 ms 6100 KB Output isn't correct - not an optimal way
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 1328 KB Output isn't correct - not an optimal way
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 104 ms 6992 KB Output isn't correct - not an optimal way
2 Incorrect 97 ms 7316 KB Output isn't correct - not an optimal way
3 Incorrect 104 ms 7564 KB Output isn't correct - not an optimal way
4 Incorrect 109 ms 7568 KB Output isn't correct - not an optimal way
5 Incorrect 104 ms 7564 KB Output isn't correct - not an optimal way
6 Incorrect 103 ms 7496 KB Output isn't correct - not an optimal way
7 Incorrect 108 ms 7564 KB Output isn't correct - not an optimal way
8 Incorrect 107 ms 7728 KB Output isn't correct - not an optimal way
9 Incorrect 106 ms 7484 KB Output isn't correct - not an optimal way
10 Incorrect 112 ms 7804 KB Output isn't correct - not an optimal way