Submission #888755

# Submission time Handle Problem Language Result Execution time Memory
888755 2023-12-18T07:20:11 Z abcvuitunggio Last supper (IOI12_supper) C++17
0 / 100
68 ms 12088 KB
#include "advisor.h"
#include <bits/stdc++.h>
using namespace std;
vector <int> pos[100001];
int a[125001],b[100001],c[100001];
set <pair <int, int>> s;
void ComputeAdvice(int *C, int N, int K, int M){
    for (int i=0;i<N;i++)
        pos[i].push_back(1000000);
    for (int i=N-1;i>=0;i--)
        pos[C[i]].push_back(i+K);
    for (int i=0;i<K;i++){
        b[i]=i;
        c[i]=1;
        pos[i].push_back(i);
        pos[i].pop_back();
        s.insert({pos[i].back(),i});
    }
    for (int i=0;i<N;i++){
        if (c[C[i]]){
            a[b[C[i]]]=1;
            b[C[i]]=i+K;
            continue;
        }
        b[C[i]]=i+K;
        auto [x,y]=*--s.end();
        s.erase(--s.end());
        c[C[i]]=1;
        c[y]=0;
        pos[C[i]].pop_back();
        s.insert({pos[C[i]].back(),C[i]});
    }
    for (auto [x,y]:s)
        a[b[y]]=1;
    for (int i=0;i<N+K;i++)
        WriteAdvice(a[i]);
}
#include "assistant.h"
#include <bits/stdc++.h>
using namespace std;
int ch[100001];
void Assist(unsigned char *A, int N, int K, int R){
    vector <int> ve;
    for (int i=0;i<K;i++){
        if (!A[i])
            ve.push_back(i);
        ch[i]=1;
    }
    for (int i=0;i<N;i++){
        int c=GetRequest();
        if (!ch[c]){
            PutBack(ve.back());
            ch[ve.back()]=0;
            ch[c]=1;
            ve.pop_back();
        }
        if (!A[i+K])
            ve.push_back(c);
    }
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4120 KB Output is correct
2 Incorrect 1 ms 4120 KB Output isn't correct - not an optimal way
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 8 ms 4960 KB Output isn't correct - not an optimal way
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 53 ms 10424 KB Output isn't correct - not an optimal way
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 4400 KB Output isn't correct - not an optimal way
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 62 ms 11648 KB Output isn't correct - not an optimal way
2 Incorrect 63 ms 12088 KB Output isn't correct - not an optimal way
3 Incorrect 65 ms 12028 KB Output isn't correct - not an optimal way
4 Incorrect 63 ms 11980 KB Output isn't correct - not an optimal way
5 Incorrect 68 ms 11964 KB Output isn't correct - not an optimal way
6 Incorrect 65 ms 12032 KB Output isn't correct - not an optimal way
7 Incorrect 61 ms 12024 KB Output isn't correct - not an optimal way
8 Incorrect 61 ms 12040 KB Output isn't correct - not an optimal way
9 Incorrect 61 ms 12016 KB Output isn't correct - not an optimal way
10 Correct 62 ms 11744 KB Output is correct - 125000 bits used