Submission #362536

#TimeUsernameProblemLanguageResultExecution timeMemory
362536ray5273cmp (balkan11_cmp)C++14
0 / 100
2333 ms101612 KiB
#include "cmp.h" #include <iostream> using namespace std; int val; //여기저장이 아니라 memory에 저장인듯 bool temp_bit[10240]; //4095만드는데 12번 필요 //크기 비교를 용이하게 하기 위해서 어떻게 10240개를 사용해야할까? void remember(int a) { int cnt=1; //4096 기준으로 //2048 보다 업다운 체크 1이면 업 0이면 다운 // //8 -> 1000 a+=1;//이걸로 될까? int start = 1; int end = 4096; //계속 찾았는데 숫자가 없으면 //있는지 없는지는 4096 더한 어떤 bit을 확인하면 되나? //4096 //4096 //1+4096 while(start<=end){ int mid = (start+end)/2; //크면 set // cout << "mid : " << mid << endl; if(a>mid){ bit_set(mid); start=mid+1; }else if(a<mid){ end=mid-1; }else if(a==mid){ bit_set(mid); bit_set(mid+4096); return; } } } //특수한 경우에만 10개를 넘는듯하다 //숫자 자체를 만들기 힘든경우 //1022,2046,4094,4095의 경우 10,11,12,13 //4개빼고 9개 선에서 컷되는데 int compare(int b) { b+=1; int start=1; int end = 4096; // if(b==1022 || b==2046 || b==4094 || b==4095){ // if(b==1022 && bit_get(1024)){ // return -1; // }else if(b==1022 && bit_get(1024)){ // } // } while(start<=end){ int mid = (start+end)/2; //크면 set int a_bit = bit_get(mid); //등호처리를 좀 잘 해야할거같다 //같은 범위는 옮겨만 준다. if(a_bit && b>mid){ //a가 mid보다 크거나 b도 mid보다 큰 경우 start=mid+1; }else if(a_bit && b<mid){ // cout << "mid and b : " << mid << " , " << b << endl; return -1; }else if(a_bit && b==mid){//a는 mid보다 크거나 같은데 , b는 mid임 if(bit_get(mid+4096))// mid+4096이 check 되어 있으면 같은거임 그게 아니면 a가 더 큰거임 return 0; else{//여기서 걸렸네 // cout << "hello" << endl; return -1; } }else if(!a_bit && b>=mid){//a는 mid보다 작으면서 b는 mid보다 큰경우 return 1; }else if(!a_bit && b<mid){ //a는 mid보다 작고, b도 mid보다 작고 end = mid-1; } } } //최종 목표는 a,b를 비교한 값을 내놓아라 //compare에서는 a를 찾아야하고 //remember에서는 address를 찾아야하고? //bitset ,bitget해야만 하는 상황에서만 해야한다? //set을하지 못하면 get도 하지 못한다. //뭘 저장해야하는가?

Compilation message (stderr)

cmp.cpp: In function 'void remember(int)':
cmp.cpp:12:7: warning: unused variable 'cnt' [-Wunused-variable]
   12 |   int cnt=1;
      |       ^~~
cmp.cpp: In function 'int compare(int)':
cmp.cpp:94:1: warning: control reaches end of non-void function [-Wreturn-type]
   94 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...