답안 #1080202

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1080202 2024-08-29T07:59:05 Z KhoaDuy 도서관 (JOI18_library) C++14
컴파일 오류
0 ms 0 KB
#include <cstdio>
#include <vector>
#include "library.h"
#include<bits/stdc++.h>
using namespace std;
//#define int long long
//#define endl '\n'
void Solve(int n){
    vector<vector<int>> inter;
    vector<int> m(n,0);
    int input;
    for(int i=0;i<n;i++){
        m[i]=1;
        input=Query(m);
        if(input!=i+1){
            break;
        }
        inter.push_back({i});
    }
    for(int k=inter.size();k<n;k++){
        int low=0,high=inter.size()-1;
        low--,high++;
        while(high-low>1){
            int mid=((high-low)>>1)+low;
            fill(m.begin(),m.end(),0);
            m[k]=1;
            for(int i=0;i<=mid;i++){
                for(int x:inter[i]){
                    m[x]=1;
                }
            }
            input=Query(m);
            if(input<mid+2){
                high=mid;
            }
            else{
                low=mid;
            }
        }
        if(high==inter.size()){
            inter.push_back({k});
            continue;
        }
        fill(m.begin(),m.end(),0);
        m[k]=1,m[inter[high][0]]=1;
        input=Query(m);
        if(input==1){
            inter[high].insert(inter[high].begin(),k);
        }
        else{
            inter[high].push_back(k);
        }
        int l=high;
        if(l<inter.size()-1){
            low=l+1,high=inter.size()-1;
            low--,high++;
            while(high-low>1){
                int mid=((high-low)>>1)+low;
                fill(m.begin(),m.end(),0);
                m[k]=1;
                for(int i=l+1;i<=mid;i++){
                    for(int x:inter[i]){
                        m[x]=1;
                    }
                }
                input=Query(m);
                if(input<mid-l+1){
                    high=mid;
                }
                else{
                    low=mid;
                }
            }
            if(high<inter.size()){
                fill(m.begin(),m.end(),0);
                m[k]=1;
                m[inter[high][0]]=1;
                input=Query(m);
                if(inter[l][0]==k){
                    vector<int> temp;
                    if(input==1){

                    }
                    else{
                        for(int x:inter[high]){
                            temp.push_back(x);
                        }
                        for(int x:inter[l]){
                            temp.push_back(x);
                        }
                        inter[high]=temp;
                        auto it=inter.begin()+l;
                        inter.erase(it);
                    }
                }
                else{
                    if(input==1){

                    }
                    else{

                    }
                }
            }
        }
    }
}
signed main(){

}

Compilation message

library.cpp: In function 'void Solve(int)':
library.cpp:40:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |         if(high==inter.size()){
      |            ~~~~^~~~~~~~~~~~~~
library.cpp:54:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |         if(l<inter.size()-1){
      |            ~^~~~~~~~~~~~~~~
library.cpp:74:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |             if(high<inter.size()){
      |                ~~~~^~~~~~~~~~~~~
/usr/bin/ld: /tmp/cczllBOm.o: in function `main':
library.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc6EjqDn.o:grader.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status