Submission #995014

#TimeUsernameProblemLanguageResultExecution timeMemory
995014TsotneSVLibrary (JOI18_library)C++14
0 / 100
43 ms596 KiB
#pragma gcc diagnostic "-std=c++1z" #include <bits/stdc++.h> #include "library.h" using namespace std; /* /\_/\ (= ._.) / > \> */ // #define int long long #define fi first #define se second #define pb push_back #define ins insert #define mp make_pair #define send {ios_base::sync_with_stdio(false);} #define help {cin.tie(0);} #define endl '\n' #define sz(x) ((long long) (x).size()) #define all(x) (x).begin(),(x).end() #define print(x) cout<<(x)<<" "; #define printl(x) cout<<(x)<<endl #define dbg(x) cerr<<#x<<" "<<x<<endl typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<pii> vpi; typedef vector<pll> vpl; void fileIO(string filename) { freopen((filename + ".in").c_str(), "r", stdin); freopen((filename + ".out").c_str(), "w", stdout); } // const ll mod = 1000000007; // const ll mod = 998244353; // ll mod; const int inf=1e9,MAXN=2e5+5; const ll INF=1e18; const ld pi = 3.14159265358979323846; /*int Query(vector<int> &M) { for(int i : M) print(i); cout<<endl; int q; cin>>q; return q; } void Answer(vector<int>& res) { for(int i : res) print(i); cout<<endl; }*/ void Solve(int N){ vector<int> M(N,1),ans; for(int i=1;i<=N;i++) { M[i-1] = 0; int q = Query(M); M[i-1] = 1; if(q == 1) { ans.pb(i); break; } } vi leftover; for(int i=1;i<=N;i++) { if(i != ans.back()) leftover.pb(i); } for(int i=2;i<=N;i++) { int l = 0,r = sz(leftover) - 1,idx = 0; while(l <= r) { M = vi(N,0); M[ans.back() - 1] = 1; int mid = (l + r)/2; for(int j=0;j<=mid;j++) { M[leftover[j]-1] = 1; } int q1 = Query(M); M[ans.back() - 1] = 0; int q2 = Query(M); if(q1 == q2) { idx = mid; r = mid - 1; }else { l = mid + 1; } } ans.pb(leftover[idx]); leftover.erase(leftover.begin() + idx); } Answer(ans); } /* signed main() { Solve(5); } */

Compilation message (stderr)

library.cpp:1: warning: ignoring '#pragma gcc diagnostic' [-Wunknown-pragmas]
    1 | #pragma gcc diagnostic "-std=c++1z"
      | 
library.cpp: In function 'void fileIO(std::string)':
library.cpp:36:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |  freopen((filename + ".in").c_str(), "r", stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
library.cpp:37:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   37 |  freopen((filename + ".out").c_str(), "w", stdout);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...