답안 #26788

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
26788 2017-07-05T17:24:49 Z samir_droubi 최후의 만찬 (IOI12_supper) C++14
컴파일 오류
0 ms 0 KB
#include "advisor.h"
#include <bits/stdc++.h>
using namespace std;
void ComputeAdvice(int *C, int N, int K, int M)
{
    const int mxn=(1e5)+5;
    bool ans[mxn*2];
    bool sc[mxn];
    int ord[mxn];

    vector<int>v[mxn];
    set<pair<int,int> >s;

    for(int i=0;i<N;++i)v[C[i]].push_back(i);
    for(int i=0;i<N;++i)
    {
      v[i].push_back(N);
      reverse(v[i].begin(),v[i].end());
    }
    for(int i=0;i<K;++i)
    {
      ord[i]=-1;
      sc[i]=true;
      s.insert({v[i].back(),i});
      v[i].pop_back();
    }

    for(int i=0;i<N;++i)
    {
      if(sc[C[i]])
      {
        s.erase({i,C[i]});
        if(ord[C[i]]==-1)ans[C[i]]=true;
        else ans[ord[i+N]=true;
      }
      else
      {
        set<pair<int,int> >::iterator it=s.end();
        --it;
        sc[it->second]=false;
        s.erase(it);
        sc[C[i]]=true;
      }
      ord[C[i]]=i;
      s.insert({v[C[i]].back(),C[i]});
    }
    for(int i=0;i<2*N;++i)
      WriteAdvice(ans[i]);
}
#include "assistant.h"
#include <bits/stdc++.h>
using namespace std;
void Assist(unsigned char *A, int N, int K, int R)
{
  const int mxn=(1e5)+5;
  vector<int>del;
  bool sc[mxn];
  for(int i=0;i<K;++i)
  {
    if(A[i]==0)del.push_back(i);
    sc[i]=true;
  }
  int it=0;
  for(int i=0;i<N;++i)
  {
    int r=GetRequest();
    if(A[i+N]==0)del.push_back(r);
    if(sc[r])continue;
    sc[del[it]]=false;
    PutBack(del[it]);
    ++it;
    sc[r]=true;
  }
}

Compilation message

advisor.cpp: In function 'void ComputeAdvice(int*, int, int, int)':
advisor.cpp:35:31: error: expected ']' before ';' token
         else ans[ord[i+N]=true;
                               ^