제출 #95015

#제출 시각아이디문제언어결과실행 시간메모리
95015zubecICC (CEOI16_icc)C++14
0 / 100
384 ms632 KiB
#include "icc.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 110;

int dsu[N];

int sz1, sz2, a[N], b[N];

int my_query(vector <int> &vec1, vector <int> &vec2){
    sz1 = sz2 = 0;
    for (int i = 0; i < vec1.size(); i++){
        a[sz1++] = vec1[i];
    }
    for (int i = 0; i < vec2.size(); i++){
        b[sz2++] = vec2[i];
    }
    return query(sz1, sz2, a, b);
}

void print(vector <int> &vec){
    for (int x : vec)
        cout << x << ' ';
    cout << endl;
}

void run(int n){
    set<int> q;
    for (int i = 1; i <= n; i++){
        dsu[i] = i;
        q.insert(i);
    }
    while(q.size() > 1){
        for (auto it1 = q.begin(); it1 != q.end(); it1++){
            int v = *it1;

            vector <int> vec1, vec2;
            vec1.push_back(v);
            for (auto it = q.begin(); it != q.end(); it++){
                if (*it != v)
                    vec2.push_back(*it);
            }

            if (my_query(vec1, vec2) == 0){
                continue;
            }
            int l = 0, r = vec2.size()-1;
            while(l < r){
                int mid = (l+r)>>1;
                vector <int> vec3;
                for (int j = 0; j <= mid; j++)
                    vec3.push_back(vec2[j]);
                if (my_query(vec1, vec3))
                    r = mid; else
                    l = mid+1;
            }
            int u = vec2[l];
            //cout << v << ' ' << u << endl;
            q.erase(u);
            setRoad(v, u);
            break;
        }

    }

}

/**

5
2 3
2 1
1 5
1 4


*/

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

icc.cpp: In function 'int my_query(std::vector<int>&, std::vector<int>&)':
icc.cpp:13:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < vec1.size(); i++){
                     ~~^~~~~~~~~~~~~
icc.cpp:16:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < vec2.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...