Submission #18809

# Submission time Handle Problem Language Result Execution time Memory
18809 2016-02-15T21:13:02 Z ggoh Last supper (IOI12_supper) C++
0 / 100
421 ms 24416 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+=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 44 ms 7764 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 338 ms 17292 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 20480 KB Error - advice is too long
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 404 ms 22188 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Runtime error 385 ms 23992 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Runtime error 407 ms 24116 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Runtime error 384 ms 24144 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Runtime error 394 ms 24144 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Runtime error 396 ms 24144 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Runtime error 392 ms 24184 KB Execution killed with signal 11 (could be triggered by violating memory limits)
8 Runtime error 395 ms 24224 KB Execution killed with signal 11 (could be triggered by violating memory limits)
9 Runtime error 392 ms 24296 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Runtime error 421 ms 24416 KB Execution killed with signal 11 (could be triggered by violating memory limits)