Submission #133209

#TimeUsernameProblemLanguageResultExecution timeMemory
133209SirCenessMinerals (JOI19_minerals)C++14
40 / 100
1527 ms3204 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; vector<int> in; vector<int> son; 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> 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); in[arr[i]] = 1; 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); in[arr[i]] = 1; //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 < in.size(); i++){ if (in[i]) Query(i+1); in[i] = 0; } bol(arr1); bol(arr2); } } void Solve(int n){ in.resize(2*n); son.resize(2*n); for (int i = 0; i < 2*n; i++) son[i] = 0; int last = 0; for (int i = 0; i < 2*n; i++){ int ans = Query(i+1); if (ans == last) son[i] = 1; last = ans; } for (int i = 0; i < 2*n; i++) Query(i+1); vector<int> nums(2*n); for (int i = 0; i < 2*n; i++) nums[i] = i; bol(nums); }

Compilation message (stderr)

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