Submission #250128

#TimeUsernameProblemLanguageResultExecution timeMemory
250128dwscMinerals (JOI19_minerals)C++14
80 / 100
68 ms3476 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; int n; void solve(vector<int> v1,vector<int> v2,bool in1,bool in2){ if (v1.size() == 1){ Answer(v1[0],v2[0]); return; } int stop = v1.size()/2; vector<int> v1a,v1b,v2a,v2b; int num; for (int i = 0; i < v1.size(); i++){ if (i < stop){ num = Query(v1[i]); //if (in[v1[i]]) cout << "Added" << " " << v1[i] << "\n"; //else cout << "Removed" << " " << v1[i] << "\n"; v1a.push_back(v1[i]); } else{ v1b.push_back(v1[i]); } } for (int i = 0; i < v2.size(); i++){ //if (in[v2[i]]) cout << "Added" << " " << v2[i] << "\n"; //else cout << "Removed" << " " << v2[i] << "\n"; int temp = Query(v2[i]); if (in1 && in2){ if (temp < num) v2a.push_back(v2[i]); else v2b.push_back(v2[i]); } else if (in1 && !in2){ if (temp > num) v2a.push_back(v2[i]); else v2b.push_back(v2[i]); } else if (!in1 && in2){ if (temp == num) v2a.push_back(v2[i]); else v2b.push_back(v2[i]); } else{ if (temp == num) v2a.push_back(v2[i]); else v2b.push_back(v2[i]); } num = temp; } solve(v1a,v2a,!in1,!in2); solve(v1b,v2b,in1,!in2); } void Solve(int N) { n = N; vector<int> v1,v2; int num = 0; for (int i = 1; i <= 2*N; i++){ int temp = Query(i); if (temp > num){ num++; v1.push_back(i); } else{ v2.push_back(i); } } solve(v1,v2,1,1); }

Compilation message (stderr)

minerals.cpp: In function 'void solve(std::vector<int>, std::vector<int>, bool, bool)':
minerals.cpp:13:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < v1.size(); i++){
                     ~~^~~~~~~~~~~
minerals.cpp:24:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < v2.size(); i++){
                     ~~^~~~~~~~~~~
minerals.cpp:29:13: warning: 'num' may be used uninitialized in this function [-Wmaybe-uninitialized]
             if (temp < num) v2a.push_back(v2[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...