제출 #250121

#제출 시각아이디문제언어결과실행 시간메모리
250121dwscMinerals (JOI19_minerals)C++14
0 / 100
1 ms384 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]); v1a.push_back(v1[i]); } else{ v1b.push_back(v1[i]); } } for (int i = 0; i < v2.size(); i++){ if (v2a.size() == stop){ v2b.push_back(v2[i]); continue; } if (v2b.size() == v2.size()-stop){ v2a.push_back(v2[i]); continue; } 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]); } } 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); }

컴파일 시 표준 에러 (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:22:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < v2.size(); i++){
                     ~~^~~~~~~~~~~
minerals.cpp:23:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (v2a.size() == stop){
             ~~~~~~~~~~~^~~~~~~
minerals.cpp:33: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...