제출 #100045

#제출 시각아이디문제언어결과실행 시간메모리
100045rocketninja7Broken Device (JOI17_broken_device)C++14
41 / 100
73 ms3312 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-1;i++){
        if(!broken[i]&&!broken[i+1]){
            available.push_back(i);
            i++;
        }
    }
    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<<i)<=X;i++){
        if((1LL<<i)&X){
            val[available[i]+1]=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++;
        }
    }
    long long ans=0;
    for(int i=0;i<available.size();i++){
        if(A[available[i]+1]){
            ans+=(1LL<<i);
        }
    }
    return ans;
}

컴파일 시 표준 에러 (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...