답안 #915458

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
915458 2024-01-24T02:24:16 Z guagua0407 Minerals (JOI19_minerals) C++17
40 / 100
20 ms 2444 KB
#include "minerals.h"
#include<bits/stdc++.h>
using namespace std;
#define f first
#define s second

vector<int> a;
vector<pair<int,int>> vec;

void go(int l,int r,vector<int> &b,int id){
    if(l==r){
        Query(a[l]);
        assert((int)b.size()==1);
        vec.push_back({a[l],b[0]});
        return;
    }
    int mid=(l+r)/2;
    int cur=0;
    if(id==0 or id==1){
        for(int i=l;i<=mid;i++){
            cur=Query(a[i]);
        }
    }
    else{
        for(int i=mid+1;i<=r;i++){
            cur=Query(a[i]);
        }
    }
    vector<int> ls,rs;
    for(auto v:b){
        int x=Query(v);
        if(x==cur){
            ls.push_back(v);
        }
        else{
            rs.push_back(v);
        }
        cur=x;
    }
    vector<int>().swap(b);
    if(id==0 or id==2){
        go(l,mid,ls,3);
        go(mid+1,r,rs,1);
    }
    else{
        go(l,mid,ls,2);
        go(mid+1,r,rs,0);
    }
}

void Solve(int n){
    vector<bool> ok(2*n+1);
    int prv=0;
    for(int i=1;i<=2*n;i++){
        int x=Query(i);
        if(x==prv+1){
            ok[i]=true;
        }
        prv=x;
    }
    vector<int> b;
    for(int i=1;i<=2*n;i++){
        if(ok[i]) a.push_back(i);
        else b.push_back(i);
    }
    for(int i=1;i<=2*n;i++){
        Query(i);
    }
    go(0,n-1,b,0);
    for(auto v:vec){
        Answer(v.f,v.s);
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 2 ms 600 KB Output is correct
4 Correct 4 ms 852 KB Output is correct
5 Correct 8 ms 1112 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 2 ms 600 KB Output is correct
8 Correct 4 ms 852 KB Output is correct
9 Correct 8 ms 1112 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 5 ms 1032 KB Output is correct
12 Correct 8 ms 1336 KB Output is correct
13 Correct 6 ms 1284 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 2 ms 600 KB Output is correct
8 Correct 4 ms 852 KB Output is correct
9 Correct 8 ms 1112 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 5 ms 1032 KB Output is correct
12 Correct 8 ms 1336 KB Output is correct
13 Correct 6 ms 1284 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
15 Incorrect 20 ms 2444 KB Wrong Answer [2]
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 2 ms 600 KB Output is correct
8 Correct 4 ms 852 KB Output is correct
9 Correct 8 ms 1112 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 5 ms 1032 KB Output is correct
12 Correct 8 ms 1336 KB Output is correct
13 Correct 6 ms 1284 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
15 Incorrect 20 ms 2444 KB Wrong Answer [2]
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 2 ms 600 KB Output is correct
8 Correct 4 ms 852 KB Output is correct
9 Correct 8 ms 1112 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 5 ms 1032 KB Output is correct
12 Correct 8 ms 1336 KB Output is correct
13 Correct 6 ms 1284 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
15 Incorrect 20 ms 2444 KB Wrong Answer [2]
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 2 ms 600 KB Output is correct
8 Correct 4 ms 852 KB Output is correct
9 Correct 8 ms 1112 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 5 ms 1032 KB Output is correct
12 Correct 8 ms 1336 KB Output is correct
13 Correct 6 ms 1284 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
15 Incorrect 20 ms 2444 KB Wrong Answer [2]
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 2 ms 600 KB Output is correct
8 Correct 4 ms 852 KB Output is correct
9 Correct 8 ms 1112 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 5 ms 1032 KB Output is correct
12 Correct 8 ms 1336 KB Output is correct
13 Correct 6 ms 1284 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
15 Incorrect 20 ms 2444 KB Wrong Answer [2]
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 2 ms 600 KB Output is correct
8 Correct 4 ms 852 KB Output is correct
9 Correct 8 ms 1112 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 5 ms 1032 KB Output is correct
12 Correct 8 ms 1336 KB Output is correct
13 Correct 6 ms 1284 KB Output is correct
14 Correct 6 ms 1112 KB Output is correct
15 Incorrect 20 ms 2444 KB Wrong Answer [2]
16 Halted 0 ms 0 KB -