QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#874963#8592. Toxic Gene 2arnur29370 1ms3840kbC++232.5kb2025-01-28 22:07:302025-01-28 22:07:32

Judging History

This is the latest submission verdict.

  • [2025-01-28 22:07:32]
  • Judged
  • Verdict: 0
  • Time: 1ms
  • Memory: 3840kb
  • [2025-01-28 22:07:30]
  • Submitted

answer

#pragma GCC optimize("Ofast,unroll-loops,no-stack-protector,fast-math,inline")
#include <bits/stdc++.h>
#include "toxic.h"
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,lzcnt,mmx,abm,avx,avx2,fma")
using namespace std;
#define static_assert(...);
#define speed ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define bigInt __int128
#define dl double long
#define fl float
#define all(s) s.begin(), s.end()
#define pub push_back
#define puf push_front
#define pob pop_back
#define pof pob_front
#define ins insert
#define F first
#define S second
#define len length

void determine_type(int n) {
    vector<int> v;
    int m = (n + 1) / 2;
    for (int i = 0; i < m; ++i) {
        v.pub(0);
    }
    for (int i = 1; i < m; ++i) {
        v.pub(i);
    }
    vector<int> ret = query_machine(v);
    int toxic;
    if (ret.back() == m) {
        toxic = 0;
    }
    else if (ret.back() < v.size()) {
        toxic = (int)ret.size() - m;
    }
    else {
        v.clear();
        for (int i = 0; i < m; ++i) {
            v.pub(0);
        }
        for (int i = m; i <= m * 2; ++i) {
            v.pub(i);
        }
        ret = query_machine(v);
        if (ret.back() < v.size()) {
            toxic = (int)ret.size() - m;
        }
        v.clear();
        v.pub(0);
        v.pub(0);
        v.pub(n - 1);
        ret = query_machine(v);
        if (ret.back() == 1) {
            toxic = n - 1;
        }
        else {
            toxic = 0;
        }
    }
    v.clear();
    int len = 1;
    vector<char> ans(n);
    vector<int> a;
    for (int i = 0; i < n; ++i) {
        if (i == toxic) continue;
        int k = (int)a.size();
        if ((k + 2)*(k + 1) + 1 > 1000) {
            v.clear();
            v.pub(toxic);
            for (int j = 0; j < k; ++j) {
                for (int l = 0; l < j*2 + 1; ++l) {
                    v.pub(a[j]);
                }
                v.pub(toxic);
            }
            ret = query_machine(v);
            for (int j = 0; j < k; ++j) {
                if (ret[j] % 2) {
                    ans[a[j]] = 'R';
                }
                else {
                    ans[a[j]] = 'T';
                }
            }
			a.clear();
        }
    }
    answer_type(ans);
}
/*
НЕ ЗАХОДИТ РЕШЕНИЕ?
1) ПРОВЕРЬ НА ОЧЕВИДНЫЕ ОШИБКИ В КОДЕ
2) ПРОВЕРЬ НА ПЕРЕПОЛНЕНИЯ
3) УБЕДИСЬ В ПРАВИЛЬНОСТИ АЛГОРИТМА
*/

详细

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3840kb

input:

2 1000
TTTRTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTRTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTRTTTTTTTTRTTTTTTTTTTTTTTTTTTTTRTTRTTTTTTTTTTTTRTTTTRTTTTTTTTTTTTTTTTTRTTTTRTTTTTTTTTTTTTTTTTTTTTTTTRTTTTTTTTTTTTTTTTTTTTTTT...

result:

wrong answer Incorrect value returned

Subtask #2:

score: 0
Wrong Answer

Test #30:

score: 0
Wrong Answer
time: 1ms
memory: 3840kb

input:

2 1000
RRTTRRRRRTTRTTRRTTTTTTTTTTTTTRTTRRRRTTRRTTRTRRTRTRTTTTTRTRTTTTTTRRTTTRTTRTTTTRTTRTTRTTRTTRTRRRTRTTTTTRRTTTTTTRRRTRRTRRRRRTTTTTTTTTRTTRTRRTTTRRRTRRRTRTRTTRTTTRTRTRTRTTTRRTTTTTTTRTRRTRTTRTTTTTRTTRTTTRRTRTRTTRTRTRTTTTRTTTTTRTTTTTRRRTRTRRTRRTTTTTRTTTRTRTTTRTRTRRTRTTTRRTRRTTTRTRTTRRTTRTTTRRTTTRRRR...

result:

wrong answer Incorrect value returned