Submission #550558

#TimeUsernameProblemLanguageResultExecution timeMemory
550558PherokungLibrary (JOI18_library)C++14
19 / 100
474 ms300 KiB
#include <cstdio> #include <vector> #include "library.h" #include<bits/stdc++.h> using namespace std; int adj[1005][2],st=1; void Solve(int n){ vector<int> res; if(n == 1){ res.push_back(1); Answer(res); return; } vector<int> M(n), K, K2; for(int i=1;i<=n;i++){ int be = 1, ed = n, mid, mi = 1e9; while(be <= ed){ mid = (be+ed)/2; // printf(">> %d %d\n",i,mid); K = M; for(int j=1;j<=mid;j++) K[j-1] = 1; K2 = K; K[i-1] = 1, K2[i-1] = 0; int A; if(K2 == M) A = 0; else A = Query(K2); if(Query(K) <= A){ ed = mid - 1; mi = min(mi,mid); } else be = mid + 1; } adj[i][0] = mi; be = mi+1, ed = n, mid; int mm = mi + 1; mi = 1e9; while(be <= ed){ mid = (be+ed)/2; K = M; for(int j=mm;j<=mid;j++) K[j-1] = 1; K2 = K; K[i-1] = 1, K2[i-1] = 0; int A; if(K2 == M) A = 0; else A = Query(K2); if(Query(K) <= A){ ed = mid - 1; mi = min(mi,mid); } else be = mid + 1; } if(mi == 1e9){ adj[i][1] = -1; st = i; } else adj[i][1] = mi; } int pos = st, pre = -1; while(pos != -1){ res.push_back(pos); int kk = pos; if(adj[pos][0] != pre) pos = adj[pos][0]; else pos = adj[pos][1]; pre = kk; } Answer(res); }

Compilation message (stderr)

library.cpp: In function 'void Solve(int)':
library.cpp:38:25: warning: right operand of comma operator has no effect [-Wunused-value]
   38 |   be = mi+1, ed = n, mid;
      |                         ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...