Submission #112358

#TimeUsernameProblemLanguageResultExecution timeMemory
112358shoemakerjoMinerals (JOI19_minerals)C++14
80 / 100
50 ms2768 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; using ll = long long; const int maxn = 100010; // map<ll, int> v; mt19937 mt_rand(time(NULL)); int cval; void go(vector<int>& a, vector<int>& b, bool aactive, bool bactive) { // cout << "as: "; // for (int vv : a) cout << vv << " "; // cout << endl; // cout << "bs: "; // for (int vv : b) cout << vv << " "; // cout << endl; vector<int> al, bl, ar, br; if (a.size() == 1 && b.size() == 1) { Answer(a[0], b[0]); return; } if (a.size() == 0) return; int mid = a.size()/2; //modify what is true for all less than this for (int i = 0; i < mid; i++) { cval = Query(a[i]); al.push_back(a[i]); } for (int i = mid; i < a.size(); i++) { ar.push_back(a[i]); } for (int i = 0; i < b.size(); i++) { // cout << "here: " << b[i] << endl; int cur = Query(b[i]); if (cur != cval) { if (aactive) { bl.push_back(b[i]); } else { br.push_back(b[i]); } } else { if (aactive) { br.push_back(b[i]); } else { bl.push_back(b[i]); } } cval = cur; } go(al, bl, !aactive, !bactive); go(ar, br, aactive, !bactive); } void Solve(int N) { // int nrounds = 1000000/N; vector<int> cl, cr; cval = 0; for (int i = 1; i <= 2*N; i++) { int cur = Query(i); if (cur == cval) { cl.push_back(i); } else cr.push_back(i); cval = cur; } go(cl, cr, true, true); }

Compilation message (stderr)

minerals.cpp: In function 'void go(std::vector<int>&, std::vector<int>&, bool, bool)':
minerals.cpp:36:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = mid; i < a.size(); i++) {
                     ~~^~~~~~~~~~
minerals.cpp:40:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < b.size(); i++) {
                   ~~^~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...