Submission #945578

#TimeUsernameProblemLanguageResultExecution timeMemory
945578vjudge1동굴 (IOI13_cave)C++17
100 / 100
298 ms1108 KiB
#include "cave.h" #include <bits/stdc++.h> #pragma optimize("Ofast") #pragma target("avx2") using namespace std; #define ll long long #define ld long double #define pb push_back #define pf push_front #define pii pair<int,int> #define all(v) v.begin(),v.end() #define F first #define S second #define mem(a,i) memset(a,i,sizeof(a)) #define sz(s) (int)s.size() #define y1 yy #define ppb pop_back #define lb lower_bound #define ub upper_bound #define gcd(a,b) __gcd(a,b) #define in insert // #define int ll const int MAX=5000+15; const int N=104; const ll inf=1e18; const int mod=1e9+7; const int mod1=1e9+9; const ld eps=1e-9; int dx[8]={1,0,-1,0,1,-1,-1,1}; int dy[8]={0,1,0,-1,1,-1,1,-1}; int binpow(int a,int n){ if(!n)return 1; if(n%2==1)return a*binpow(a,n-1)%mod; int k=binpow(a,n/2); return k*k%mod; } int s[MAX],d[MAX]; int pos[MAX]; void exploreCave(int N) { mem(pos,-1); for(int i=0;i<N;i++){ vector<int> vec; for(int j=0;j<N;j++){ if(pos[j]==-1){ vec.pb(j); } } int l=0,r=sz(vec)-1; for(int j=0;j<N;j++){ if(pos[j]==-1){ s[j]=0; } } int x=tryCombination(s); bool ok; if(x==-1||x>i)ok=0; else ok=1; while(l<r){ int m=(l+r)/2; for(int j=0;j<=m;j++){ s[vec[j]]=ok; } for(int j=m+1;j<sz(vec);j++)s[vec[j]]=ok^1; int x=tryCombination(s); if(x==-1||x>i){ r=m; } else{ l=m+1; } } pos[vec[l]]=1; s[vec[l]]=ok; d[vec[l]]=i; } answer(s,d); }

Compilation message (stderr)

cave.cpp:4: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    4 | #pragma optimize("Ofast")
      | 
cave.cpp:5: warning: ignoring '#pragma target ' [-Wunknown-pragmas]
    5 | #pragma target("avx2")
      |
#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...