답안 #18810

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
18810 2016-02-15T21:14:33 Z ggoh 최후의 만찬 (IOI12_supper) C++
0 / 100
419 ms 24592 KB
#include "advisor.h"

void ComputeAdvice(int *C, int N, int K, int M)
{
    int t=0,u=N,p;
    u--;
    while(u)
    {
        u/=2;t++;
    }
    if(N==1)t=1;
    for(int i=0;i<N;i++)
    {
        u=C[i];
        p=t;
        while(p)
        {
            WriteAdvice(u%2);
            p--;
            u/=2;
        }
    }
}



#include "assistant.h"
int ch[100002],late[100002],st[100002],color[100002];
void Assist(unsigned char *A, int N, int K, int R)
{
    int t=0,u=N,sz=0,p=0,on;
    u--;
    while(u)
    {
        u/=2;t++;
    }
    if(N==1)t=1;
    while(p<R)
    {
        u=0;
        for(int i=0;i<t;i++)
        {
            u+=(1<<i);
        }
        color[sz++]=u;
    }
    for(int i=0;i<N;i++)late[i]=-1;
    t=0;
    for(int i=0;i<N;i++)
    {
        late[color[i]]=i;
    }
    for(int i=0;i<K;i++)
    {
        ch[i]=1;
        on=i;
        if(late[i]==-1)st[t++]=i;
    }
    for(int i=0;i<N;i++)
    {
        if(ch[color[i]]==1)
        {
            GetRequest();
            if(late[color[i]]==i)
            {
                late[color[i]]=-1;
                st[t++]=color[i];
            }
        }
        else
        {
            GetRequest();
            if(t)
            {
                t--;
                PutBack(st[t]);
                ch[st[t]]=0;
                ch[color[i]]=1;
            }
            else
            {
                PutBack(on);
                ch[on]=0;
                on=color[i];
                ch[on]=1;
            }
            if(late[color[i]]==i)
            {
                late[color[i]]=-1;
                st[t++]=color[i];
            }
        }
    }
}

Compilation message

assistant.cpp: In function 'void Assist(unsigned char*, int, int, int)':
assistant.cpp:57:23: warning: 'on' may be used uninitialized in this function [-Wmaybe-uninitialized]
                 ch[on]=0;
                 ~~~~~~^~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 7 ms 3808 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 42 ms 7900 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 324 ms 17552 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 20920 KB Error - advice is too long
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 389 ms 22616 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Runtime error 386 ms 24324 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Runtime error 402 ms 24336 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Runtime error 402 ms 24336 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Runtime error 405 ms 24452 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Runtime error 419 ms 24568 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Runtime error 401 ms 24568 KB Execution killed with signal 11 (could be triggered by violating memory limits)
8 Runtime error 395 ms 24568 KB Execution killed with signal 11 (could be triggered by violating memory limits)
9 Runtime error 408 ms 24568 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Runtime error 414 ms 24592 KB Execution killed with signal 11 (could be triggered by violating memory limits)