Submission #18810

# Submission time Handle Problem Language Result Execution time Memory
18810 2016-02-15T21:14:33 Z ggoh Last supper (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;
                 ~~~~~~^~
# Verdict Execution time Memory 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 -
# Verdict Execution time Memory 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 -
# Verdict Execution time Memory 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 -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 20920 KB Error - advice is too long
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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)