답안 #1015878

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1015878 2024-07-07T01:36:07 Z 12345678 Zagrade (COI20_zagrade) C++17
0 / 100
577 ms 1108 KB
#include <bits/stdc++.h>

using namespace std;

const int nx=1e5+5;

int n, res[nx], x, q;

int query(int l, int r)
{
    cout<<"? "<<l<<' '<<r<<'\n';
    fflush(stdout);
    cin>>x;
    return x;
}

void fillres(int l, int r)
{
    int md=(l+r)/2;
    for (int i=l; i<=md; i++) res[i]=1;
}

void solve2(int l, int r)
{
    if (r<=l) return;
    int lst=l;
    for (int i=l+1; i<r; i+=2) if (query(l, i)) fillres(lst, i), lst=i+1;
    fillres(lst, r);
}

void solve1(int l, int r)
{
    res[l]=1;
    for (int i=l+1; i<r; i+=2) if (query(l, i)) return solve2(l+1, i-1), solve1(i+1, r), void();
    solve2(l+1, r-1);
}

int main()
{
    cin>>n>>q;
    solve1(1, n);
    cout<<"! ";
    for (int i=1; i<=n;i ++) cout<<(res[i]?'(':')');
}

/*
12
()(()())(())
*/
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 2 ms 344 KB Output is correct
3 Incorrect 5 ms 504 KB Mismatch at position 9. Expected ), found (
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Mismatch at position 1. Expected ), found (
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 512 KB Output is correct
2 Correct 266 ms 1108 KB Output is correct
3 Incorrect 577 ms 592 KB Mismatch at position 15. Expected ), found (
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Mismatch at position 1. Expected ), found (
2 Halted 0 ms 0 KB -