Submission #133223

#TimeUsernameProblemLanguageResultExecution timeMemory
133223SirCenessMinerals (JOI19_minerals)C++14
40 / 100
30 ms2724 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; #define mod 1000000007 #define mp make_pair #define pb push_back #define bas(x) #x << ": " << x << " " #define prarr(x, n) cout << #x << ": "; for (int qsd = 0; qsd < n; qsd++) cout << x[qsd] << " "; cout << endl; #define prarrv(x) cout << #x << ": "; for (int qsd = 0; qsd < (int)x.size(); qsd++) cout << x[qsd] << " "; cout << endl; #define inside sl<=l&&r<=sr #define outside sr<l||r<sl typedef long long ll; bitset<50000> son; int n; void bol(vector<int>& arr){ //prarrv(arr); //if (arr.size() == 1) assert(0); if (arr.size() == 2) Answer(arr[0]+1, arr[1]+1); else { int prt = 1; int last = 0; vector<int> var; vector<int> arr1, arr2; for (int i = 0; i < arr.size(); i++){ //cout << "i: " << arr[i] << endl; if (son[arr[i]] == 0){ //cout << "son: 0" << endl; if (prt){ //cout << "ekle: 1" << endl; last = Query(arr[i]+1); var.pb(arr[i]); arr1.pb(arr[i]); } else { //cout << "ekle: 2" << endl; arr2.pb(arr[i]); } prt = !prt; } else { //cout << "son: 1" << endl; int ans = Query(arr[i]+1); var.pb(arr[i]); //cout << bas(ans) << bas(last) << endl; if (ans == last) arr1.pb(arr[i]); else arr2.pb(arr[i]); last = ans; } } for (int i = 0; i < var.size(); i++){ Query(var[i]+1); } bol(arr1); bol(arr2); } } void Solve(int N){ n = 2*N; int last = 0; for (int i = 0; i < n; i++){ int ans = Query(i+1); son[i] = (ans == last); last = ans; } for (int i = 0; i < n; i++) Query(i+1); vector<int> nums(n); for (int i = 0; i < n; i++) nums[i] = i; bol(nums); }

Compilation message (stderr)

minerals.cpp: In function 'void bol(std::vector<int>&)':
minerals.cpp:28:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < arr.size(); i++){
                   ~~^~~~~~~~~~~~
minerals.cpp:53:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < var.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...