답안 #1072699

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1072699 2024-08-24T03:02:17 Z SiliconSquared Minerals (JOI19_minerals) C++14
0 / 100
1 ms 344 KB
#include "minerals.h"

using namespace std;
#include <vector>

int query(int x){return Query(x+1);}

int n;
struct mineral{
    int a,b;
    mineral(){a=0;b=n;}
};
vector<mineral> v;

void f(int a,int b){
    for (int i=a;i<b;i++){
        query(i);
    }
    for (int i=0;i<n;i++){
        if (v[i].a<=a && v[i].b>=b){
            if (query(i+n)>(b-a)){
                v[i].a=b;
            }else{
                v[i].b=b;
            }
            query(i+n);
        }
    }
    for (int i=a;i<b;i++){
        query(i);
    }
}

void Solve(int N) {
    n=N;
    v.resize(n,mineral());
    vector<pair<int,int>> w;
    w.push_back({0,N/2});
    int a,b;
    while (!w.empty()){
        a=w[w.size()-1].first;
        b=w[w.size()-1].second;
        w.pop_back();
        if (a==b){continue;}
        f(a,b);
        w.push_back({a,(a+b)/2});
        w.push_back({b,b+(b-a)/2});
    }
    for (int i=0;i<n;i++){
        Answer(i+n+1,v[i].a+1);
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -