# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
876247 | 2023-11-21T13:14:41 Z | danikoynov | Super Dango Maker (JOI22_dango3) | C++17 | 1 ms | 604 KB |
#include "dango3.h" #include <bits/stdc++.h> using namespace std; int get_query(vector < int > lf, vector < int > rf) { for (int cur : rf) lf.push_back(cur); return Query(lf); } int n, m; void sub_solve(vector < int > &d) { if (Query(d) == 0) return; vector < int > lf, rf; for (int i = 0; i < d.size(); i ++) { if (rand() % 2 == 0) lf.push_back(d[i]); else rf.push_back(d[i]); } sub_solve(lf); sub_solve(rf); vector < int > df; for (int cur : lf) df.push_back(cur); for (int cur : rf) df.push_back(cur); int cnt = Query(df); for (int t = 0; t < cnt; t++) { vector < int > secure, trash; while(!df.empty() && secure.size() < n) { int bk = df.back(); df.pop_back(); if (get_query(df, secure) == 0) secure.push_back(bk); else trash.push_back(bk); } Answer(secure); for (int cur : trash) df.push_back(cur); } d = df; } void Solve(int N, int M) { int n, m; vector < int > d; for (int i = 1; i <= N * M; i ++) d.push_back(i); sub_solve(d); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Wrong Answer [4] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Wrong Answer [4] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 604 KB | Wrong Answer [4] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 604 KB | Wrong Answer [4] |
2 | Halted | 0 ms | 0 KB | - |