Submission #570343

#TimeUsernameProblemLanguageResultExecution timeMemory
570343Spade1Library (JOI18_library)C++14
100 / 100
488 ms356 KiB
#include<bits/stdc++.h> #include "library.h" #define pii pair<int, int> #define pll pair<long long, long long> #define ll long long #define ld long double #define st first #define nd second #define pb push_back #define INF INT_MAX using namespace std; bool mark[1010]; void Solve(int N) { vector<int> ans; ans.pb(1); vector<int> rmn; for (int i = 2; i <= N; ++i) rmn.pb(i); while (true) { int l = 0, r = rmn.size(); while (l < r) { vector<int> tst(N, 0); int mid = (l+r)/2; for (int i = 0; i <= mid; ++i) { tst[rmn[i]-1] = 1; } int tmp = Query(tst); tst[ans.back()-1] = 1; if (Query(tst) > tmp) l = mid+1; else r = mid; } if (l == rmn.size()) break; else { ans.pb(rmn[l]); rmn.erase(rmn.begin()+l); } } reverse(ans.begin(), ans.end()); while (true) { int l = 0, r = rmn.size(); while (l < r) { vector<int> tst(N, 0); int mid = (l+r)/2; for (int i = 0; i <= mid; ++i) { tst[rmn[i]-1] = 1; } int tmp = Query(tst); tst[ans.back()-1] = 1; if (Query(tst) > tmp) l = mid+1; else r = mid; } if (l == rmn.size()) break; else { ans.pb(rmn[l]); rmn.erase(rmn.begin()+l); } } Answer(ans); }

Compilation message (stderr)

library.cpp: In function 'void Solve(int)':
library.cpp:34:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |         if (l == rmn.size()) break;
      |             ~~^~~~~~~~~~~~~
library.cpp:56:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |         if (l == rmn.size()) break;
      |             ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...