Submission #100102

#TimeUsernameProblemLanguageResultExecution timeMemory
100102rocketninja7Broken Device (JOI17_broken_device)C++14
0 / 100
6 ms512 KiB
#include "Annalib.h"
#include <vector>
using namespace std;

void Anna( int N, long long X, int K, int P[] ){
    bool broken[N];
    for(int i=0;i<N;i++){
        broken[i]=false;
    }
    for(int i=0;i<K;i++){
        broken[P[i]]=true;
    }
    vector<int> available;
    for(int i=0;i<N-2;i++){
        if(!broken[i]&&!broken[i+1]&&!broken[i+2]){
            available.push_back(i);
            i+=2;
        }
    }
    bool val[N];
    for(int i=0;i<N;i++){
        val[i]=false;
    }
    for(int i=0;i<available.size();i++){
        val[available[i]]=true;
    }
    for(int i=0;(1LL<<(2*i))<=X;i++){
        if((1LL<<(2*i))&X){
            val[available[i]+1]=true;
        }
        if((1LL<<(2*i+1))&X){
            val[available[i]+2]=true;
        }
    }
    for( int i = 0; i < N; i++ ){
        Set( i, val[i]?1:0 );
    }
}
#include "Brunolib.h"
#include <vector>
using namespace std;

long long Bruno( int N, int A[] ){
    vector<int> available;
    for(int i=0;i<N;i++){
        if(A[i]==1){
            available.push_back(i);
            i+=2;
        }
    }
    long long ans=0;
    for(int i=0;i<available.size();i++){
        if(A[available[i]+1]){
            ans+=(1LL<<(2*i));
        }
        if(A[available[i]+2]){
            ans+=(1LL<<(2*i+1));
        }
    }
    return ans;
}

Compilation message (stderr)

Anna.cpp: In function 'void Anna(int, long long int, int, int*)':
Anna.cpp:24:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<available.size();i++){
                 ~^~~~~~~~~~~~~~~~~

Bruno.cpp: In function 'long long int Bruno(int, int*)':
Bruno.cpp:14:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<available.size();i++){
                 ~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...