답안 #524562

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
524562 2022-02-09T13:50:04 Z fabijan_cikac Minerals (JOI19_minerals) C++17
0 / 100
115 ms 262148 KB
#include <bits/stdc++.h>

using namespace std;

#include "minerals.h"

const int MAXN = (1 << 17);

#define F first
#define S second
#define pp pair<int, int>

vector<pp> sol;
deque<int> q;
int p[MAXN] = { 0 };

/*int Query(int x){
    int y; cin >> y; return y;
}

void Answer(int x, int y){
    return;
}*/

void findpar(vector<int> v){
    if (v.size() == 2){
        sol.push_back({v[0], v[1]});
        return;
    }
    map<int, int> m;
    for (int i = 0; i < v.size(); ++i)
        m[v[i]] = 1;
    while (!q.empty()){
        if (p[q.front()] && m[q.front()] == 0){
            int z = Query(q.front() + 1);
        }
        q.pop_front();
    }
    vector<int> a[2]; int maks = v.size() / 4;
    for (int i = 0; i < v.size(); ++i){
        int x = Query(v[i] + 1); q.push_back(v[i]); p[v[i]] = 1;
        if (x > maks){
            Query(v[i] + 1); a[1].push_back(v[i]); p[v[i]] = 0;
        }
        else a[0].push_back(v[i]);
    }
    findpar(a[0]); findpar(a[1]); return;
}

void Solve(int N){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    vector<int> v;
    for (int i = 0; i < 2 * N; ++i)
        v.push_back(i);
    findpar(v);
    for (int i = 0; i < N; ++i)
        Answer(sol[i].F + 1, sol[i].S + 1);
}

Compilation message

minerals.cpp: In function 'void findpar(std::vector<int>)':
minerals.cpp:31:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for (int i = 0; i < v.size(); ++i)
      |                     ~~^~~~~~~~~~
minerals.cpp:35:17: warning: unused variable 'z' [-Wunused-variable]
   35 |             int z = Query(q.front() + 1);
      |                 ^
minerals.cpp:40:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |     for (int i = 0; i < v.size(); ++i){
      |                     ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 115 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 109 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -