제출 #376833

#제출 시각아이디문제언어결과실행 시간메모리
3768338e7Minerals (JOI19_minerals)C++14
40 / 100
50 ms3228 KiB
//Challenge: Accepted #include "minerals.h" #include <iostream> #include <algorithm> #include <vector> #include <utility> #define ll long long #define maxn 100005 #define pii pair<int, int> #define ff first #define ss second #define io ios_base::sync_with_stdio(0);cin.tie(0); using namespace std; int tot; void solvebyadd(vector<int> a, vector<int> b); void solvebydel(vector<int> a, vector<int> b); void Solve(int N) { tot = N; int num = 0; vector<int> l, r; for (int i = 1;i <= 2 * N;i++) { int tmp = Query(i); if (tmp != num) l.push_back(i); else r.push_back(i); num = tmp; } //for (int i = 1;i <= 2 * N;i++) Query(i); solvebydel(l, r); } void solvebyadd(vector<int> a, vector<int> b) { //initially empty if (a.size() < 1) return; if (a.size() == 1) { Answer(a[0], b[0]); return; } vector<int> al, bl, ar, br; int num = 0, mid = (a.size() + 1) / 2; for (int i = 0;i < mid;i++) { num = Query(a[i]); al.push_back(a[i]); } for (int i = 0;i < b.size();i++) { int tmp = Query(b[i]); if (tmp == num) { bl.push_back(b[i]); } else { br.push_back(b[i]); } num = tmp; } for (int i = mid;i < a.size();i++) ar.push_back(a[i]); for (int i:br) Query(i); solvebydel(al, bl); solvebyadd(ar, br); } void solvebydel(vector<int> a, vector<int> b) { //for (int i:a) cout << i << " "; //cout << endl; //for (int i:b) cout << i << " "; //cout << endl; //cout << endl; if (a.size() < 1) return; if (a.size() == 1) { //look here Query(a[0]), Query(b[0]); Answer(a[0], b[0]); return; } vector<int> al, bl, ar, br; int num = 0, mid = (a.size() + 1) / 2; for (int i = 0;i < mid;i++) al.push_back(a[i]); for (int i = mid;i < a.size();i++) { num = Query(a[i]); ar.push_back(a[i]); } for (int i = 0;i < b.size();i++) { int tmp = Query(b[i]); if (tmp == num) { bl.push_back(b[i]); } else { br.push_back(b[i]); } num = tmp; } for (int i:bl) Query(i); solvebydel(al, bl); solvebyadd(ar, br); /* for (int i:ar) Query(i); for (int i:br) Query(i); getans(ar, br); */ } /* 4 1 5 2 6 3 4 7 8 */

컴파일 시 표준 에러 (stderr) 메시지

minerals.cpp: In function 'void solvebyadd(std::vector<int>, std::vector<int>)':
minerals.cpp:46:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |  for (int i = 0;i < b.size();i++) {
      |                 ~~^~~~~~~~~~
minerals.cpp:55:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |  for (int i = mid;i < a.size();i++) ar.push_back(a[i]);
      |                   ~~^~~~~~~~~~
minerals.cpp: In function 'void solvebydel(std::vector<int>, std::vector<int>)':
minerals.cpp:79:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   79 |  for (int i = mid;i < a.size();i++) {
      |                   ~~^~~~~~~~~~
minerals.cpp:84:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   84 |  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...