답안 #70038

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
70038 2018-08-22T09:39:57 Z Abelyan 최후의 만찬 (IOI12_supper) C++17
0 / 100
126 ms 8592 KB
#include "advisor.h"
#include <bits/stdc++.h>
using namespace std;

const int N=100006;
int a[N],han[N],mp[N];
bool pas[N];

void ComputeAdvice(int *c, int n, int k, int m) {
    for (int i=n-1;i>=0;i--){
        a[i]=mp[c[i]]-1;
        if (mp[c[i]]==0)a[i]=2*n;
        mp[c[i]]=i+1;
    }
    priority_queue<pair<int,int> > pq;
    for (int i=0;i<k;i++){
        if (mp[i]==0)mp[i]=2*N;
        pq.push({mp[i],i});
    }
    for (int i=0;i<n;i++){
        han[i]=pq.top().second;
        pq.pop();
        pq.push({a[i],c[i]});
    }
    vector<int> v;
    for (int i=n-1;i>=0;i--){
        if (pas[c[i]])v.push_back(1);
        else v.push_back(0);
        pas[han[i]]=false;
        pas[c[i]]=true;
    }
    for (int i=k-1;i>=0;i--){
        if (pas[i])v.push_back(1);
        else v.push_back(0);
    }
    reverse(v.begin(),v.end());
    for (int i=0;i<v.size();i++){
        WriteAdvice(v[i]);
    }
}
#include "assistant.h"
#include <bits/stdc++.h>
using namespace std;

const int N=100006;
stack<int> s;
bool onsc[N];

void Assist(unsigned char *A, int n, int k, int R) {
  assert(n<=250);
    for (int i=0;i<k;i++){
        if (!A[i])s.push(i);
        onsc[i]=true;
    }
    for (int i=0;i<n;i++){
        int k=GetRequest();
        if (onsc[k])continue;
        PutBack(s.top());
        onsc[s.top()]=false;
        s.pop();
        if (!A[i+k])s.push(k);
    }
}

Compilation message

advisor.cpp: In function 'void ComputeAdvice(int*, int, int, int)':
advisor.cpp:37:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0;i<v.size();i++){
                  ~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 836 KB Output is correct
2 Incorrect 6 ms 1004 KB Error - Putting back a color when it is already on the scaffold
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 20 ms 1944 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 83 ms 5984 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 12 ms 5984 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 99 ms 7544 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Runtime error 120 ms 8128 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Runtime error 126 ms 8272 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Runtime error 96 ms 8296 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Runtime error 95 ms 8592 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Runtime error 102 ms 8592 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Runtime error 100 ms 8592 KB Execution killed with signal 11 (could be triggered by violating memory limits)
8 Runtime error 107 ms 8592 KB Execution killed with signal 11 (could be triggered by violating memory limits)
9 Runtime error 117 ms 8592 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Runtime error 113 ms 8592 KB Execution killed with signal 11 (could be triggered by violating memory limits)