Submission #1316895

#TimeUsernameProblemLanguageResultExecution timeMemory
1316895exoworldgdCave (IOI13_cave)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
#include"cave.h"
#define ll long long
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
void exploreCave(int n){
	int s[n],d[n],v[n+1];
	for(int i=0;i<n;i++)s[i]=0,d[i]=i,v[i]=0;
	auto ok=[&](int x,int r,int f)->bool{
		int t[n];
		for(int i=0;i<n;i++)t[i]=s[i];
		if(f)for(int i=0;i<=r;i++)if(!v[i])t[i]^=1;
		else for(int i=r+1;i<n;i++)if(!v[i])t[i]^=1;
		return tryCombination(t)!=x;
	};
	for(int i=0;i<n;i++){
		int pos=tryCombination(s),lk=0;
		if(pos==i)lk=1;
		int l=0,r=n-1,ans=0,m;
		while(l<=r)int m=(l+r)>>1,ok(i,m,lk)?(ans=m,r=m-1):l=m+1;
		s[ans]^=lk,v[ans]=1,d[ans]=i;
	}
	answer(s,d);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:20:52: error: expression list treated as compound expression in initializer [-fpermissive]
   20 |                 while(l<=r)int m=(l+r)>>1,ok(i,m,lk)?(ans=m,r=m-1):l=m+1;
      |                                                    ^
cave.cpp:20:53: error: expected ',' or ';' before '?' token
   20 |                 while(l<=r)int m=(l+r)>>1,ok(i,m,lk)?(ans=m,r=m-1):l=m+1;
      |                                                     ^