답안 #1050811

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1050811 2024-08-09T14:42:58 Z Andrey Monster Game (JOI21_monster) C++17
0 / 100
40 ms 420 KB
#include "monster.h"
#include<bits/stdc++.h>
using namespace std;

vector<int> haha(0);

void dude(int l, int r) {
    if(l == r) {
        return;
    }
    int mid = (l+r)/2;
    dude(l,mid);
    dude(mid+1,r);
    vector<int> wow(0);
    int x = l,y = mid+1;
    for(int i = 0; i < r-l+1; i++) {
        if(x != mid+1 && (y == r+1 || Query(haha[y],haha[x]))) {
            wow.push_back(haha[x]);
            x++;
        }
        else {
            wow.push_back(haha[y]);
            y++;
        }
    }
    for(int i = 0; i < wow.size(); i++) {
        haha[i+l] = wow[i];
    }
}

vector<int> Solve(int n) {
    for(int i = 0; i < n; i++) {
        haha.push_back(i);
    }
    dude(0,n-1);
    vector<bool> bruh(n);
    int big = 0;
    for(int i = 1; i < n; i++) {
        bruh[i] = Query(haha[0],haha[i]);
        if(bruh[i]) {
            big = i;
        }
    }
    int p = big-1;
    vector<int> ans(n);
    if(Query(haha[p],haha[0])) {
        p--;
        while(p >= 0 && Query(haha[p],haha[big])) {
            p--;
        }
    }
    for(int i = p; i >= 0; i--) {
        ans[haha[i]] = p-i;
    }
    for(int i = p+1; i <= big; i++) {
        ans[haha[i]] = big-(i-p-1);
    }
    int y = p+1,x = big+1;
    for(int i = big+1; i < n; i++) {
        if(Query(haha[y],haha[i])) {
            for(int j = x; j <= i; j++) {
                ans[haha[j]] = i-(j-x);
            }
            y = x;
            x = i+1;
        }
    }
    return ans;
}

Compilation message

monster.cpp: In function 'void dude(int, int)':
monster.cpp:26:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |     for(int i = 0; i < wow.size(); i++) {
      |                    ~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Partially correct 39 ms 420 KB Partially correct
2 Incorrect 40 ms 420 KB Wrong Answer [3]
3 Halted 0 ms 0 KB -