Submission #18808

# Submission time Handle Problem Language Result Execution time Memory
18808 2016-02-15T20:57:05 Z ggoh Last supper (IOI12_supper) C++
0 / 100
495 ms 24616 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++;
    }
    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++;
    }
    while(p<R)
    {
        u=0;
        for(int i=0;i<t;i++)
        {
            u+=A[p+i]*(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 45 ms 8120 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 374 ms 17600 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 20688 KB Error - advice is too long
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 495 ms 22512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Runtime error 428 ms 24336 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Runtime error 456 ms 24352 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Runtime error 442 ms 24368 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Runtime error 399 ms 24492 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Runtime error 436 ms 24616 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Runtime error 402 ms 24616 KB Execution killed with signal 11 (could be triggered by violating memory limits)
8 Runtime error 393 ms 24616 KB Execution killed with signal 11 (could be triggered by violating memory limits)
9 Runtime error 397 ms 24616 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Runtime error 391 ms 24616 KB Execution killed with signal 11 (could be triggered by violating memory limits)