제출 #167929

#제출 시각아이디문제언어결과실행 시간메모리
167929keta_tsimakuridze동굴 (IOI13_cave)C++14
100 / 100
1410 ms644 KiB
#include<bits/stdc++.h>
#include "cave.h"
using namespace std;
void exploreCave(int N){
	int C[50006],Cdef[50006],fix[50006],opens,Not,l,r,tr,ans2[500006];
	
	for(int k=0;k<N;k++)
	fix[k]=0;
	
	for(int k=0;k<N;k++){

		for(int i=0;i<N;i++){
			if(fix[i]==1)
				 C[i]=Cdef[i];
			else 
				C[i]=1;
	    } 
	 	int tr=tryCombination(C);
 		if(tr>k || tr==-1) {
 			opens=1;
		}
		 else opens=0;
		 
		 if(opens==0) Not=1;
		 else Not=0;
		l=0;
		r=N-1;
		
		while(l<=r)
		{
			if(l==r){
				fix[l]=1;
				Cdef[l]=opens;
				ans2[l]=k;
				break;
			}
			int mid=(l+r)/2;
			for(int i=l;i<=mid;i++)
			if(fix[i]==0) C[i]=opens;
			else C[i]=Cdef[i];
			for(int i=mid+1;i<=r;i++)
			if(fix[i]==0) C[i]=Not;
			else C[i]=Cdef[i];
			for(int i=0;i<N;i++)
			if(fix[i]==1) 
			 C[i]=Cdef[i];
			
			int tr=tryCombination(C);
			if(tr>k || tr==-1) r=mid;
			else l=mid+1; 
		}
		 
 		
		
	}
	answer(Cdef,ans2);
}

컴파일 시 표준 에러 (stderr) 메시지

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:5:52: warning: unused variable 'tr' [-Wunused-variable]
  int C[50006],Cdef[50006],fix[50006],opens,Not,l,r,tr,ans2[500006];
                                                    ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...