| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1359352 | cansu_mutlu | Cave (IOI13_cave) | C++20 | 2096 ms | 524 KiB |
#include "cave.h"
#include<bits/stdc++.h>
using namespace std;
void exploreCave(int n) {
int a[n];
vector<int> v;
for(int i=0;i<n;i++)
{
a[i]=0;
}
int ex = tryCombination(a);
for(int i=0;i<n;i++)
{
a[i] = 1-a[i];
int num = tryCombination(a);
if(num<=ex || num==-1)
v.push_back(i);
a[i] = 1-a[i];
}
while(ex!=-1)
{
int l = 0,r = v.size()-1;
while(l<=r)
{
int mid = (l+r)/2;
int num = tryCombination(a);
if(num>ex || num==-1)
{
r = mid-1;
if(l>r)
{
ex = num;
break;
}
}
else l = mid+1;
for(int i=l;i<=mid;i++) a[i] = 1-a[i];
}
vector<int> b;
for(int i:v)
{
if(i!=l)b.push_back(i);
}
swap(b,v);
}
int b[n];
for(int i=0;i<n;i++)
{
a[i] = 1-a[i];
int num = tryCombination(a);
a[i] = 1-a[i];
b[i] = num;
}
answer(a,b);
return;
}
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
