Submission #438752

#TimeUsernameProblemLanguageResultExecution timeMemory
438752shahriarkhanICC (CEOI16_icc)C++14
0 / 100
329 ms524 KiB
#include<bits/stdc++.h> #include "icc.h" using namespace std ; void run(int N) { int vis[N+1][N+1] ; for(int i = 0 ; i <= N ; ++i) { for(int j = 0 ; j <= N ; ++j) { vis[i][j] = 0 ; } vis[i][i] = 1 ; } for(int T = 1 ; T < N ; ++T) { for(int i = 1 ; i <= N ; ++i) { int a[1] , siz_a = 1 , siz_b = 0 ; a[0] = i ; vector<int> B ; for(int j = i + 1 ; j <= N ; ++j) { if(vis[i][j]) continue ; B.push_back(j) , ++siz_b ; } if(!siz_b) continue ; int b[siz_b] ; for(int j = 0 ; j < siz_b ; ++j) b[j] = B[j] ; if(!query(siz_a,siz_b,a,b)) continue ; int low = 0 , high = siz_b - 1 ; while(low<high) { int mid = (low+high)/2 , siz_c = 0 ; vector<int> C ; for(int k = low ; k <= mid ; ++k) { C.push_back(b[k]) , ++siz_c ; } int c[siz_c] ; for(int k = 0 ; k < siz_c ; ++k) c[k] = C[k] ; if(query(siz_a,siz_c,a,c)) high = mid ; else low = mid + 1 ; } int node = b[low] ; vis[i][node] = 1 , vis[node][i] = 1 ; setRoad(i,node) ; break ; } } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...